Multiple personalities in chat communications

ABSTRACT

The same user is able to project different personalities while visiting different chat rooms. The personalities are tailored to the chat room being visited. Different personalization items (e.g., an icon or avatar, wallpaper, sounds, a smiley set, and text style) are provided based upon the chat room that the user is visiting. The personalization items may be customized based upon the identity of the chat room (such as a particular chat room, the type of chat room, or the content of the chat room). The personalization items may be host based and may leverage instant messaging (“IM”) personalization items. The personalization items may be user selected or user provided.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No.11/252,890, filed Oct. 19, 2005, and titled “Multiple Personalities inChat Communications,” which is a continuation-in-part of U.S.application Ser. No. 10/718,039, filed Nov. 21, 2003, and titled “ChatPersonalization,” which is a continuation-in-part of U.S. applicationSer. No. 10/305,015, filed Nov. 27, 2002, Ser. No. 10/334,027, filedDec. 31, 2002, Ser. No. 10/334,128, filed Dec. 31, 2002, and Ser. No.10/334,129, filed Dec. 31, 2002 and which claims priority from U.S.Provisional Application No. 60/384,147, filed May 31, 2002 and U.S.Provisional Application No. 60/416,902, filed Oct. 9, 2002, all of whichare incorporated by reference in their entirety. U.S. application Ser.No. 11/252,890 also is a continuation-in-part of U.S. application Ser.No. 10/715,209, filed Nov. 18, 2003, and titled “Multiple Personalities”that claims priority from U.S. Provisional Application No. 60/427,941,filed Nov. 21, 2002, U.S. Provisional Application No. 60/464,106, filedApr. 21, 2003, and U.S. Provisional Application No. 60/488,399, filedJul. 21, 2003, all of which are incorporated by reference in theirentirety. This application further claims the benefit of U.S.Provisional Application No. 60/619,699, filed Oct. 19, 2004, and titled“Multiple Personalities in Chat, and Context-Customization ofPersonalization Items for a Chat Identity,” which is incorporated byreference in its entirety.

TECHNICAL FIELD

This description relates to chat communications.

BACKGROUND

Online service providers facilitate access to information and servicesby providing interactive user interfaces (UIs) that help users navigateto desired resources. For example, in the case of a system forcommunicating using chat messages, a UI allows a chat participant toinvoke actions, such as establishing a communications link, through theselection of screen objects such as icons, windows, and drop-down menus.A chat participant may select a chat room to exchange chat messages withother chat participants. A chat room may be associated with subjectmatter.

SUMMARY

A method, performed at least partially on a computer, for enablingperception of a personalization item in a chat communication session ispresented. The method may include receiving an indication of an identityof a chat communication session in which a chat user is to participate.Next, the method may include selecting one or more of thepersonalization items based upon the identity of the chat communicationsession and an identity of the chat user. Finally, the method mayinclude enabling rendering of the selected personalization items in achat application.

In another implementation, a computer-implemented method for enablingperception of multiple online personas in chat communication sessions ispresented. The method may include first receiving an identity of a firstchat communication session. Then the method may include selecting afirst persona of a user from among at least two personas of the sameuser. The selection is based on the identity of the first chatcommunication session. Finally, the method may include enabling thefirst persona of the user to be projected in the first chatcommunication session. Each persona comprises personalization items andthe first persona differs from each of the other personas of the user.

In yet another implementation, the method may include receiving anidentity of a second chat communication session. Then, the method mayinclude selecting a second persona of a user from among the at least twopersonas of the same user. The selection is based on the identity of thesecond chat communication session. Finally, the method may includeenabling the second persona of the user to be concurrently projected inthe second chat communication session.

A computer program product tangibly embodied in a computer-readablemedium also is presented. The computer program product may includeinstructions that, when executed, generate a graphical user interface ona display device of a computing or communication device that enablesperception of communications that leverage a chat platform. Theinstructions may include instructions for rendering a chat applicationuser interface for a chat communication session involving at least achat user and a second chat participant. The user interface may bepresented at a system display presented to the chat user. Theinstructions also may include instructions for selecting apersonalization item associated with the chat user based upon anidentity of the chat communication session. The instructions also mayinclude instructions for receiving the selected personalization itempresented to the system display. The selected personalization itemcorresponds to an identifier obtained by a chat user system and theidentifier enables identification of the selected personalization itemof the chat user. The instructions also may include instructions forrendering the selected personalization item independently of a messageused to obtain the identifier.

Other features will be apparent from the following description,including the drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIGS. 1-4 are block diagrams of an exemplary communications system.

FIGS. 5A, 5B, 16-19, and 21-25 are flow charts of exemplary processesthat may be implemented by systems such as those of FIGS. 1-4.

FIGS. 6-13, 14A, 14B, 15, and 20 are illustrations of differentgraphical user interfaces that may be implemented by systems such asthose of FIGS. 1-4 when executing processes such as those of FIGS. 5A,5B, 16-19, and 21-25.

FIG. 26A is a block diagram illustrating relationships between onlinepersonas and chat rooms.

FIG. 26B is a block diagram illustrating relationships betweenpersonalization items and chat rooms.

FIG. 27 is a flow chart of an exemplary process that may be implementedby systems such as those in FIGS. 1-4.

FIGS. 28A, 28B, 29 and 30 are an illustration of different graphicaluser interfaces that may be implemented by systems such as those inFIGS. 1-4 when executing a process such as that of FIG. 27.

FIGS. 31 and 32 are flow charts of an exemplary process that may beimplemented by systems such as those in FIGS. 1-4 when further executinga process such as that of FIG. 27.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

The same user is able to project different personalities while visitingdifferent chat rooms. The personalities may be tailored to the chat roombeing visited. Different personalization items (e.g., an icon or avatar,wallpaper, sounds, a smiley set, and text style) are provided based uponthe chat room that the user is visiting. The personalization items maybe customized either directly or indirectly. Personalization items maybe directly customized and triggered, based upon the identity of thechat room the user is visiting (such as a particular chat room, the typeof chat room, or the content of the chat room). Upon entering aparticular chat room, individual personalization items may automaticallybe selected, and projected, for the user. For example, upon entering afootball chat room, particular and individual personalization items maybe selected for the user, such as an icon depicting a football helmet,wallpaper depicting a football field, or a smiley set that includesfootballs smiling, frowning, and making other faces. A set of one ormore personalization items (collectively called a “personality” or“persona”) may also be customized, and triggered, based upon theidentity of the chat room (such as a particular chat room, the type ofchat room, or the content of the chat room). For example, a sportspersona, including a set of sports-related personalization items may beautomatically provided when the user is participating in a sports chatroom, and a film persona including a set of film-related personalizationitems may be are provided when the user is participating in a film chatroom.

Personas (and/or individual personalization items) may be automaticallyprovided based on an association made by a chat user between a persona(and/or individual personalization items) and a chat room identity orother trigger related to chat room. For example, a user may associate asports persona with a chat room having a sports identity, but the sameuser may associate one or more individual personalization items relatedto film, such as a film reel icon, with a chat room having a filmidentity. Personas and individual personalization items also may beautomatically provided based solely on an identity of a chat room. Forexample, when a particular or any user enters a football chat room, theuser's wallpaper personalization item may change to depict a footballfield. In another example, when any user enters a gardening chat room,the user's avatar may be animated to hold a flower and pretend to waterit with a gardening can.

The personalization items may be host based. For example,personalization items may be stored at a host, such as a computer thathouses a chat communication system, rather than being stored at aclient, such as a home or office computer associated with a user. Thepersonalization items also may leverage instant messaging (“IM”)personalization items. In other words, the same personalization itemsprojected by a user when engaging in instant message communications alsomay be projected when the user visits a chat room. For example, a usermay project a personalization item including a football helmet iconwhile instant messaging another user. However, when the user enters achat room, the football helmet icon also may be projected in the chatroom. The personalization items may be user-selected or user-provided.

Related to the notion of allowing a chat participant, also referred toas a chat application operator or chat user, to supplement theiridentity with personalization items, but which does not explicitlyaddress multiple different personalities, is the notion thatpersonalization items are selected based on context or identity of thechat room.

To fully understand the techniques presented in this description, adiscussion of personalization items for chat participants is nowpresented. A first chat participant may have personalization items thatmay be sent or otherwise made perceivable to a second chat participant.Personalization items may represent a user or a characteristic of auser, and may include user-selectable binary objects. A personalizationitem may also be referred to as a self-expression item. For example,personalization items include images such as wallpaper that is renderedin a location having a contextual placement on a user interface. Thecontextual placement typically indicates an association with the userrepresented by the wallpaper. For example, the wallpaper may be renderedin an area where messages from a particular user represented by thewallpaper are sent or received. In one implementation, wallpaper is a(border (e.g., chrome) around a dialog area on a user interface.Personalization items also may include icons, avatars, sounds,animation, video clips, and emoticons (e.g., smileys).

An avatar item is one example of the type of personalization item thatmay be included in a chat user's personality. An avatar is similar to anicon used to represent the chat user, but avatars are three-dimensional,whereas icons are merely two-dimensional. An avatar may have dimensions,such as height, width, and color. Although both icons and avatars can beanimated, avatars are capable of more detailed animation and can beanimated in response to various triggers. The first trigger that maycause an avatar to be animated is a specific word in a text message sentby a chat user during a chat communication session. When a send or enterbutton in the chat room user interface is activated by the chat user,chat room application searches the text of the message for animationtriggers. When an animation trigger is identified, the avatar isanimated with an animation associated with the identified trigger. Byway of example, the text of a message may include a character string“LOL,” which is an acronym that stands for “laughing out loud.” Thecharacter string “LOL” may trigger an animation in the avatar such thatthe avatar appears to be laughing. The avatar may be animated bytriggers in text entered by the chat user, as well as text entered byother chat users communicating in the chat room. Additional triggersinclude a request by the chat user (e.g., inviting a participant in thecurrent chat room to join the chat user in a different, private chatroom), detection of an idle period (e.g., the avatar may be animated toappear to be asleep if the chat user has not entered text in the chatroom for a certain amount of time), or reflection of the chat user'sother activity or current location (e.g., if music is playing on thechat user's computer, the avatar may be animated to sing, dance, or puton headphones; if it is raining at the chat user's location, the avatarmay be animated to put up an umbrella). In some implementations, anavatar may have accessories associated with the avatar. For example, anavatar may hold an object or wear clothing. The object and/or clothingmay change depending on the same, or different, triggers that cause theavatar to be animated. In one example, if it is raining, an avatar maybe animated to hold an umbrella or wear a rain slicker. In anotherexample, an avatar may be animated to wear sunglasses or a leatherjacket to indicate that the avatar is cool. In yet another example, anavatar may be animated to sometimes hold a sword and sometimes hold ashield. In addition to being triggered by animation triggers,accessories associated with an avatar also may be triggered when a userenters a particular chat room, chats with a particular other chatparticipant, or the user explicitly selects a change in the accessoriesassociated with the avatar.

One or more personalization items may be rendered at the first chatparticipant system and/or at one or more second chat participantsystems. Personalization items associated with a first chat participantmay be made available to the one or more second chat participant systems(“second chat participant system”) by sending one or more identifierscorresponding to the personalization items to the one or more secondchat participants (“second chat participant”). An identifier may beassociated with a single personalization item, or with a group of two ormore personalization items. A group of one or more personalization itemsthat are associated with a chat participant may be referred to as a“personality” or “persona.” of the user the second chat participantsystem uses the identifier to identify the personalization itemassociated with the sender, and to locate perceivable contentcorresponding to the identifier. For instance, an identifier receivedfrom a sender may be used as a basis for determining if thecorresponding personalization item is available locally at the secondchat participant system, and, if so, the identifier may be used toretrieve the corresponding personalization item. If the personalizationitem is not available locally at the second chat participant system, thesecond chat participant system may use the identifier as a basis forgenerating one or more requests for the personalization item fromanother location, such as a chat host system or anotherremotely-accessible data store such as the first chat participantsystem, or a remote or third-party server (e.g., a server accessiblethrough the Internet).

In another implementation, a chat message from the first chatparticipant does not contain an identifier of personalization itemsassociated with the first chat participant, and the second chatparticipant system retrieves one or more identifiers associated with thepersonalization items of the first chat participant. For example, thesecond chat participant system may retrieve the identifiers from aremote location such as a chat host system or anotherremotely-accessible data store such as those noted above. Theidentifiers may be stored at the remote location and associated with ascreen name or other user identity. The second chat participant systemmay send a screen name or other user identity to the remote location.The remote location associates the screen name or other user identitywith the corresponding identifiers, and sends those identifiers to thesecond chat participant system. For instance, the chat host may storeidentifiers associated with the screen name of a first chat participant.The second chat participant system passes the screen name of the firstchat participant to the chat host, and the chat host returns theidentifiers associated with that screen name to the second chatparticipant system. In another implementation, the chat host system orother remotely accessible data store may retrieve and send thepersonalization items themselves rather than the identifiers.

In another example in which the chat message from the first chatparticipant does not contain an identifier of personalization items, thesecond chat participant system may locally store the identifiers inassociation with a screen name or other user identity. The second chatparticipant system may then retrieve the locally-stored identifiersbased on the screen name or other user identity of the first chatparticipant. In another implementation, the second chat participantsystem may retrieve the personalization items themselves rather than theidentifiers.

The identifiers may be retrieved before, during, or after receipt of achat message from the first chat participant. The identifiers may bestored at the second chat participant system, or at another location,such as a chat host system or another remotely-accessible data storesuch as those noted above. Alternatively, the personalization itemitself may be sent by the first chat participant system to the secondchat participant system, with a message or through a separatenegotiation or communication, and also may be stored locally on thesecond chat participant system. Upon locating or receiving thepersonalization item, the second chat participant system renders theitem for perception by the second chat participant.

In yet another implementation, second chat participant personalizationitems may be made available to the first chat participant system byselecting one or more identifiers corresponding to the one or morepersonalization items of the second chat participant. Thepersonalization items may be selected manually by the second chatparticipant or may be automatically selected for the second chatparticipant. The identifiers may be associated with a screen name orother identifying information of the second chat participant. Forexample, the identifiers associated with the screen name of a potentialsecond chat participant may be stored locally at the first chatparticipant system, or the first chat participant system may retrievesuch identifiers from a remotely-accessible data store such as the chathost system, the second chat participant system, or those noted above.The first chat participant system uses the identifier to determine ifthe corresponding personalization item is available locally at the firstchat participant system, and, if so, the first chat participant systemretrieves the corresponding personalization item. If the personalizationitem is not available locally at the first chat participant system, thefirst chat participant system requests the personalization item from aremotely-accessible data store, as described above. Alternatively, thepersonalization item itself may be associated with the second chatparticipant and retrieved by the first chat participant system. Once thefirst chat participant system locates or receives the one or morepersonalization items associated with a destination recipient, the firstchat participant system renders the one or more personalization item(s)for perception by the first chat participant. Thus, the personalizationitems of the second chat participant may be rendered to the first chatparticipant before correspondence is initiated or communications areestablished by the recipient and without previously having received achat message from the second chat participant.

In another implementation, first chat participant personalization itemsmay be made available to the first chat participant system and renderedat the first chat participant system by selecting the identifierscorresponding to the personalization items of the first chatparticipant. The personalization items may be selected manually by thefirst chat participant or may be automatically selected for the firstchat participant. The identifiers may be associated with a screen nameor other identifying information of the first chat participant. Forexample, the identifiers may be associated with the screen name of thefirst chat participant and stored locally at the first chat participantsystem, or the first chat participant system may retrieve theidentifiers associated with the screen name of the first chatparticipant from another location such as the chat host system oranother remotely-accessible data store such as those noted above. Thefirst chat participant system uses the identifier to determine if thecorresponding personalization item is available locally at the firstchat participant system, and if so, the first chat participant systemretrieves the corresponding personalization item. If the personalizationitem is not available locally at the first chat participant system, thefirst chat participant system requests the personalization item from aremotely-accessible data store, as described above. Alternatively, thepersonalization item itself may be associated with the first chatparticipant and retrieved by the first chat participant system.

Once the first chat participant system locates or receives the one ormore personalization items associated with a destination recipient, thefirst chat participant system renders the one or more personalizationitems for perception by the first chat participant. Thus, thepersonalization items of the first chat participant may be rendered tothe first chat participant similarly to the manner in which thepersonalization items of the first chat participant are rendered to thesecond chat participant. Also, the personalization items of the secondchat participant may be rendered to the second chat participant in themanner described for rendering the personalization items of the firstchat participant to the first chat participant.

A personalization item may be rendered at any time. Typically, apersonalization item is rendered upon the occurrence of one or moreparticular events. For example, a customized sound, a personalizedwallpaper, an icon and/or an avatar, selected by a first chatparticipant may be made perceivable to a second chat participant duringa chat conversation. In one instance, wallpaper selected by the firstchat participant appears on the second chat participant system when achat message is received from the first chat participant or when a chatmessage is returned to the first chat participant by the second chatparticipant. As another example, a particular sound is played or an iconor avatar is displayed at the second chat participant system when thefirst chat participant's presence state changes (e.g., when the firstchat participant logs on, logs off, becomes inactive, enables ordisables the second chat participant's ability to detect the first chatparticipant's presence, or enters or leaves a particular chat room).

Chat personalization items may be rendered for a first chat participantand/or a second chat participant at the first chat participant system,the second chat participant system, or both. The chat personalizationitems of the first chat participant and the second chat participant maybe rendered at the same time or at different times. The same method maybe used to render the chat personalization items of the first chatparticipant and/or the second chat participant at the first chatparticipant system, the second chat participant system, or both.Alternatively, different methods may be used to render these chatpersonalization items. In one implementation, a second chat participantmay not change the personalization items of a first chat participant,and a first chat participant may not change the personalization items ofa second chat participant. A first chat participant may choose to havedifferent personalization items displayed for different second chatparticipants, and a second chat participant may choose to have differentpersonalization items displayed for different first chat participants.Once a personalization item is designated by a first chat participant ora second chat participant, the personalization item is typically madeavailable for perception by the second chat participant or the firstchat participant automatically. The personalization items may also beselected automatically for a first chat participant or a second chatparticipant based upon a characteristic of the first chat participant orthe second chat participant.

Chat users may assemble multiple personalization items into a collective“persona” or “personality.” As discussed above, personalization itemsinclude icons or avatars, wallpaper, sounds, smileys, and evenanimations or video clips. In addition to these personalization itemtypes, a set of features or functionalities may be associated with apersona. For example, features such as encrypted transmission, chatcommunication session logging, and forwarding of chat communications toan alternative communication system may be enabled for a given persona.Moreover, personas may be assigned, established and/or associated withother settings, such that a particular persona may be projected based ontime-of-day, geographic or virtual location, or even characteristics orattributes of each (e.g., cold persona for winter in Colorado orchatting persona while participating in a chat room). A persona may besaved and optionally associated with one or more customized names.

A particular chat room has an identity. An identity of a chat room maybe determined by the title of the chat room or a category in which thechat room is associated. A chat room may have an identity related to acategory subject matter discussed in the chat room. For example, a chatroom may be used to discuss professional football or may be associatedwith a sports category. The chat room may also have an identity based onthe subject matter included in the messages being exchanged in the chatroom. For example, if a chat user is in a football chat room, but theconversation turns to gardening, the chat room identity may reflectgardening in addition to, or in lieu of, football or sports. In anotherexample a chat room identity may relate to a type of chat room otherthan a type based on subject matter. For example, a chat room may host aquestion-and-answer session with an expert or celebrity and, in such acase, the chat room may have a different, or an additional, identitythan a chat room where users communicate among themselves. Additionally,the identity of a chat room may depend on the type of language allowedin the room, including, for example whether adult language is permitted.

Chat users may be able to assign multiple personalization items andfunctions to a particular persona for projection when participating in achat communications session in a chat room. A persona of a chat user maybe associated with one or more particular chat rooms, either in advanceof entering a chat room or “on-the-fly” during a chat communicationsession. This allows the user to project different personas whileparticipating in different chat rooms.

Chat personalization items may be rendered by any type of hardware,software, device, computer, computer system, equipment, component,program, application, code, or storage medium. In one implementation,the chat personalization items may be rendered in a client/host context,and the chat personalization items may be accessed or updated through aremote device in a client/host environment. In another implementation,the chat personalization items may be implemented in a standalone oroffline client context. The chat personalization items may be renderedby the standalone/offline device and may be accessed or updated througha remote device in a non-client/host environment such as, for example, aLAN (Local Area Network) server serving an end user or a mainframeserving a terminal device.

Typically, chat communications involve an instantaneous or nearlyinstantaneous communication between two or more users, where each useris able to transmit, receive and display communicated information.Additionally, chat communications may involve the display and perceptionof online presence information regarding other users present in the chatroom. However, chat communications may occur in the absence of onlinepresence information. The chat communications may be machine-to-machinecommunications that occur without intervention by or communicationthrough a chat server after a communication session is established orauthentication is performed. Examples of chat communications exist overAOL (America Online), Yahoo, and MSN, among others. Although discussedbelow primarily with respect to chat applications, other implementationsare contemplated for providing similar functionality in platforms andonline applications such as e-mail, and streaming media applications.

For illustrative purposes, FIGS. 1 and 2 show an example of acommunications system for implementing techniques for transferringelectronic data. For brevity, several elements in the figures describedbelow are represented as monolithic entities. However, as would beunderstood by one skilled in the art, these elements each may includenumerous interconnected computers and components designed to perform aset of specified operations and/or may be dedicated to a particulargeographic region.

Referring to FIG. 1, a communications system 100 is capable ofdelivering and exchanging data between a first chat participant system105 and a host system 110 through a communications link 115. The firstchat participant system 105 typically includes one or more clientdevices 120 and/or client controllers 125, and the host system 110typically includes one or more host devices 135 and/or host controllers140. For example, the first chat participant system 105 or the hostsystem 110 may include one or more general-purpose computers (e.g.,personal computers), one or more special-purpose computers (e.g.,devices specifically programmed to communicate with each other and/orthe first chat participant system 105 or the host system 110), or acombination of one or more general-purpose computers and one or morespecial-purpose computers. The first chat participant system 105 and thehost system 110 may be arranged to operate within or in concert with oneor more other systems, such as, for example, one or more LANs (“LocalArea Networks”) and/or one or more WANs (“Wide Area Networks”).

The client device 120 and the host device 135 are generally capable ofexecuting instructions under the command of, respectively, a clientcontroller 125 and a host controller 140. The client device 120 and thehost device 135 are connected to, respectively, the client controller125 and the host controller 140 by, respectively, wired or wireless datapathways 130 and 145, which are capable of delivering data.

The client device 120, the client controller 125, the host device 135,and the host controller 140 typically each include one or more hardwarecomponents and/or software components. An example of a client device 120or a host device 135 is a general-purpose computer (e.g., a personalcomputer) or software on such a computer capable of responding to andexecuting instructions in a defined manner. Other examples include aspecial-purpose computer, a workstation, a server, a device, acomponent, other physical or virtual equipment or some combination ofthese capable of responding to and executing instructions. The clientdevice 120 and the host device 135 may include devices that are capableof establishing peer-to-peer communications.

An example of client controller 125 or host controller 140 is a softwareapplication loaded on the client device 120 or the host device 135 forcommanding and directing communications enabled by the client device 120or the host device 135. Other examples include a program, a piece ofcode, an instruction, a device, a computer, a computer system, or acombination of these for independently or collectively instructing theclient device 120 or the host device 135 to interact and operate asdescribed. The client controller 125 and the host controller 140 may beembodied permanently or temporarily in any type of machine, component,physical or virtual equipment, or storage medium capable of providinginstructions to the client device 120 and the host device 135.

The communications link 115 typically includes a delivery network 160that provides direct or indirect communication between the first chatparticipant system 105 and the host system 110, irrespective of physicalseparation. Examples of a delivery network 160 include the Internet, theWorld Wide Web, WANs, LANs, analog or digital wired and wirelesstelephone networks (e.g., Public Switched Telephone Network (PSTN),Integrated Services Digital Network (ISDN), and a type of DigitalSubscriber Line (DSL)), radio, television, cable, or satellite systems,and other delivery mechanisms for carrying data. The communications link115 may include communication pathways 150 and 155 that enablecommunications through the one or more delivery networks 160 describedabove. Each of the communication pathways 150 and 155 may include, forexample, a wired, wireless, cable or satellite communication pathway.

FIG. 2 illustrates a communications system 200 including a first chatparticipant system 105 communicating with a host system 110 through acommunications link 115.

The first chat participant system 105 includes a client device 120 thattypically includes a general-purpose computer 270 having an internal orexternal memory 272 for storing data and programs such as an operatingsystem 274 (e.g., DOS, Windows™, Windows 95™, Windows 98™, Windows2000™, Windows Me™, Windows XP™, Windows NT™, OS/2, or Linux) and one ormore application programs. Examples of application programs includeauthoring applications 276 (e.g., word processing programs, databaseprograms, spreadsheet programs, or graphics programs) capable ofgenerating documents or other electronic content; client applications278 (e.g., America Online (AOL) client, CompuServe client, AOL InstantMessenger (AIM) client, interactive television (ITV) client, InternetService Provider (ISP) client, chat client or instant messaging (IM)client) capable of communicating with other computer users, accessingvarious computer resources, and viewing, creating, or otherwisemanipulating electronic content; and browser applications 280 (e.g.,Netscape's Navigator or Microsoft's Internet Explorer) capable ofrendering standard Internet content and other content formattedaccording to standard protocols such as the Hypertext Transfer Protocol(HTTP).

One or more of the application programs may be installed on the internalor external storage 272 of the general-purpose computer 270.Alternatively, in another implementation, the client controller 125 mayaccess application programs externally stored in and/or performed by oneor more device(s) external to the general-purpose computer 270.

The general-purpose computer 270 also includes a central processing unit282 (CPU) for executing instructions in response to commands from theclient controller 125, and a communication device 284 for sending andreceiving data. One example of the communication device 284 is a modem.Other examples include a transceiver, a set-top box, a communicationcard, a satellite dish, an antenna, a network adapter, or some othermechanism capable of transmitting and receiving data over thecommunications link 115 through a wired or wireless data pathway 150.The general-purpose computer 270 optionally includes a television (“TV”)tuner 286 for receiving television programming in the form of broadcast,satellite, and/or cable TV signals. The TV tuner 286 permits the clientdevice 120 to selectively and/or simultaneously display network contentreceived by communications device 284 and TV programming contentreceived by the TV tuner 286.

The general-purpose computer 270 may include an input/output interface288 that enables wired or wireless connection to various peripheraldevices 290. Examples of peripheral devices 290 include, but are notlimited to, a mouse 291, a mobile phone 292, a personal digitalassistant (PDA) 293, an MP3 player (not shown), a keyboard 294, adisplay monitor 295 with or without a touch screen input, a TV remotecontrol 296 for receiving information from and rendering information tousers, and an audio-visual input device 298.

Although FIG. 2 illustrates devices such as a mobile telephone 292, aPDA 293, and a TV remote control 296 as being peripheral with respect tothe general-purpose computer 270, in another implementation, suchdevices may themselves include the functionality of the general-purposecomputer 270 and operate as the client device 120. For example, themobile phone 292 or the PDA 293 may include computing and networkingcapabilities and function as a client device 120 by accessing thedelivery network 160 and communicating with the host system 110.Furthermore, the first chat participant system 105 may include one, someor all of the components and devices described above.

FIG. 3 illustrates a communications system 300 that supports a chatservice including a first chat participant system 105 communicating withone or more other chat participant systems 305, 306, 307 and a chat hostsystem 310 through a communication link 115. Chat system users may bedistributed geographically and communicate with the chat host system 310using chat participant systems, such as second chat participant system305, third chat participant system 306, or fourth chat participantsystem 307. Second chat participant system 305 runs chat client softwarethat communicates with a corresponding chat host software on chat hostsystem 310, by way of a browser or otherwise. Chat host system 310coordinates chat sessions by receiving the textual, or other, input sentfrom a first chat participant system 105 or a second chat participantsystem 305 and replicating that input to other systems such as a secondchat participant system 305 or first chat participant system 105, asappropriate. Such a communications system may be used by users of chatservice providers, such as, for example, AOL, Yahoo, and MSN.

In one implementation, the chat host system 310 may have characteristicssimilar to those described above with respect to the host system 110,the second chat participant system 305 may have characteristics similarto those described above with respect to the first chat participantsystem 105, and the first chat participant system 105 and the secondchat participant system 305 may include communication software to enableusers of the client systems to access the chat host system 310.

The chat host system 310 may support chat services irrespective of afirst chat participant's network or Internet access. Thus, the chat hostsystem 310 may allow users to send and receive messages, regardless ofwhether they have access to any particular ISP. The chat host system 310also may support associated services, such as administrative matters,advertising, directory services, chat, and interest groups related tothe chat. The chat host system 310 has an architecture that enables thedevices (e.g., servers) within the chat host system 310 to communicatewith each other. To transfer data, the chat host system 310 employs oneor more standard or exclusive chat protocols.

To access the chat host system 310 to begin a chat session in theimplementation of FIG. 3, the first chat participant system 105establishes a connection to the chat host system 310. Once a connectionto the chat host system 310 has been established, the first chatparticipant system 105 may directly or indirectly transmit data to andaccess content from the chat host system 310. By accessing the chat hostsystem, a first chat participant can use the chat client application toview which other users (e.g., a “people here list”) are online in thechat room, and/or, exchange messages with the other users in the chatroom. The user also may be supplied with other capabilities, such as theability to trade files such as pictures, invitations or documents, findother users with similar interests, get customized information (such asnews and stock quotes), and search the Web. The second chat participantsystem 305 may be similarly manipulated to establish a contemporaneousconnection with chat host system 310.

Once connectivity is established, a first chat participant who is usingthe first chat participant system 105 may view whether a second chatparticipant using the second chat participant system 305 is online, andtypically may view whether the second chat participant is able toreceive messages. If the second chat participant is online, the firstchat participant may exchange messages with the second chat participant.

In one implementation, the messages sent between first chat participantsystem 105 and second chat participant system 305 are routed throughchat host system 310. In another implementation, the messages sentbetween first chat participant system 105 and second chat participantsystem 305 are routed through a third party server (not shown), and, insome cases, are also routed through chat host system 310. In yet anotherimplementation, the messages are sent directly between first chatparticipant system 105 and second chat participant system 305.

In one implementation, personalization items may be leveraged from aninstant messaging host 315 or an instant messaging client 302 by a chatparticipant, such as first chat participant 105. The personalizationitems may be accessed, stored, retrieved, edited, or otherwisemanipulated from a data repository designated for an instant messagingsystem. For example, the personalization items may be stored in a datastorage 320. Data storage 320 may be located in a host system such asthe IM host 315, the chat host 310, or a different host system such as ahost system accessible through the Internet. The data storage may alsobe located in a chat sender system such as first chat participant system105, second chat participant system 305, third chat participant system306, or fourth chat participant system 307, and may be accessiblethrough a client such as an instant messaging client 302 or a chatclient.

IM profiles for particular users may be stored in a data repository,which may be the same data repository or a different data repositorythan the data repository used to store the personalization items. Thedata repository storing the IM profiles may be used to determine how topersonalize the chat environment.

As discussed below with respect to FIGS. 14A and 14B, a mapping may bemade between the chat personalization items, opportunities, and settingsand IM personalization items, opportunities, and settings. The mappingenables something defined in IM for a particular context encountered inIM to be used for a different context in chat, or vice versa. Forexample, presence in IM may be defined as the use of the IM applicationby a user, whereas presence in chat may be defined as participation in achat room. Therefore, the IM personalization item, such as a sound of adoor opening, for becoming present in the IM context may be applied tochat. However, the application in chat for becoming present is notbeginning to use the chat application by the user, but instead for entryinto one of several chat rooms. The mapping may be modified, forexample, by the user or by a system administrator.

In one implementation, different sets of personalization items may beused for different chat rooms, as appropriate. For example, the firstchat participant may designate a set of personalization items to be usedin a sports chat room and a different set of personalization items to beused when participating in an arts and entertainment chat room. Thesesets of personalization items may be stored in a data store, such asdata store 320 so as to be associated with the particular chatparticipant and the particular chat room context where they are to beused.

FIG. 4 illustrates a communications system 400 including a first chatparticipant system 105 communicating with a second chat participantsystem 305 and a chat host system 310 through a communication link 115.System 400 illustrates a possible implementation of the communicationssystem 300 of FIG. 3.

In system 400, the chat host system 310 includes a login server 470 forenabling access by users and routing communications between the firstchat participant system 105 and other elements of the chat host system310. The chat host system 310 also includes a chat server 490. To enableaccess to and facilitate interactions with the chat host system 310, thefirst chat participant system 105 and the second chat participant system305 may include communication software, such as for example, an onlineservice provider (OSP) client application and/or a chat clientapplication.

As described with respect to FIG. 3, the chat host system 310 maysupport chat services irrespective of a first chat participant's networkor Internet access. Thus, the chat host system 310 may allow users tosend and receive messages, regardless of whether they have access to anyparticular ISP. The chat host system 310 also may support associatedservices, such as administrative matters, advertising, directoryservices, chat, and interest groups related to the chat. The chat hostsystem 310 has an architecture that enables the devices (e.g., servers)within the chat host system 310 to communicate with each other. Totransfer data, the chat host system 310 employs one or more standard orexclusive chat protocols.

In one implementation, the first chat participant system 105 establishesa connection to the login server 470 in order to access the chat hostsystem 310 and begin a chat session. The login server 470 typicallydetermines whether the particular first chat participant is authorizedto access the chat host system 310 by verifying the first chatparticipant's identification and password. If the first chat participantis authorized to access the chat host system 310, the login server 470usually employs a hashing technique on the first chat participant'sscreen name to identify a particular chat server 490 within the chathost system 310 for use during the first chat participant's session. Thelogin server 470 provides the first chat participant (e.g., first chatparticipant system 105) with the IP address of the chat server 490,gives the first chat participant system 105 an encrypted key, and breaksthe connection. The first chat participant system 105 then uses the IPaddress to establish a connection to the particular chat server 490through the communications link 115, and obtains access to the chatserver 490 using the encrypted key. Typically, the first chatparticipant system 105 will be able to establish an open transmissioncontrol protocol (TCP) connection to the chat server 490. The secondchat participant system 305 establishes a connection to the chat hostsystem 310 in a similar manner.

In one implementation, the first chat participant system 105 maydirectly or indirectly transmit data to and access content from the chatserver 490 once a connection to the chat server 490 has beenestablished. By accessing the chat server, a first chat participant canleverage the chat client application to determine whether particularusers (“buddies” or potential second chat participants) are online,exchange messages with particular buddies, participate in group chatrooms, trade files such as pictures, invitations or documents, findother buddies with similar interests, get customized news and stockquotes, and search the Web. For example a first chat participant who isusing first chat participant system 105 may view whether a buddy usingsecond chat participant system 305 is online, and if so, may exchangemessages with that buddy. In one implementation, the messages sentbetween first chat participant system 105 and second chat participantsystem 305 are routed through chat host system 310. In anotherimplementation, the messages sent between first chat participant system105 and second chat participant system 305 are routed through a thirdparty server (not shown) and, in some cases, are also routed throughchat host system 310. In yet another implementation, the messages aresent directly between first chat participant system 105 and second chatparticipant system 305.

In one implementation, the chat host system 310 also includes a chatuser profile server (not shown) connected to a database (not shown) forstoring large amounts of user profile data. The chat user profile servermay be used to enter, retrieve, edit, manipulate, or otherwise processuser profile data. In one implementation, a first chat participant'sprofile data includes, for example, the first chat participant's screenname, instant messaging buddy list, identified interests, and geographiclocation. The first chat participant's profile may also includepersonalization items selected by the first chat participant. The firstchat participant may enter, edit and/or delete profile data using aninstalled chat client application on the first chat participant system105 to interact with the user profile server.

In another implementation, the chat host system 310 also includes a userprofile server (not shown) connected to a database (not shown) forstoring large amounts of user profile data. The user profile server maybe used to enter, retrieve, edit, manipulate, or otherwise process userprofile data. In one implementation, a second chat participant's profiledata includes, for example, the second chat participant's screen name,instant messaging buddy list, identified interests, and geographiclocation. The second chat participant may enter, edit and/or deleteprofile data using an installed chat client application on the secondchat participant system 305 to interact with the user profile server.

Because the first chat participant's data are stored in the chat hostsystem 310, the first chat participant does not have to re-enter orupdate such information in the event that the first chat participantaccesses the chat host system 310 using a new or different first chatparticipant system 105. Accordingly, when a first chat participantaccesses the chat host system 310, the chat server can instruct the userprofile server to retrieve the first chat participant's profile datafrom the database and to provide profile data to the chat server.Alternatively, user profile data may be saved locally on the first chatparticipant system 105.

Referring to FIGS. 5A and 5B, the first chat participant system 105, thesecond chat participant system 305, and the chat host system 310interact according to exemplary procedures 500A and 500B to make apersonalization item selected by the first chat participant perceivableto the second chat participant during a chat communications session. Theprocedures 500A and 500B may be implemented by various types ofhardware, software, device, computer, computer system, equipment,component, program, application, code, or storage medium. Furthermore,although not shown in FIGS. 5A and 5B, the first chat participant system105, the second chat participant system 305, and the chat host system310 may be directly or indirectly interconnected through known ordescribed delivery networks, examples of which are described withrespect to network 160. The procedures 500A and 500B may be implementedin a client/host context, or a standalone or offline client context. Thepersonalization item may be rendered by the standalone/offline deviceand may be accessed or updated through a remote device in anon-client/host environment such as, for example, a LAN server servingan end user or a mainframe serving a terminal device. Thus, theprocedures 500A and 500B described below may be implemented for any OSP,ISP, browser and/or other software program having a graphical userinterface, such as programs for chat, instant messaging, electronic mailand stand-alone browsers.

Procedures 500A and 500B generally involve transporting and rendering apersonalization item. While some functions of procedures 500A and 500Bmay be performed entirely by the first chat participant system 105 orthe second chat participant system 305, other functions may be performedby the collective operation of the first chat participant system 105,the second chat participant system 305, and the chat host system 310.For example, a personalization item may be rendered entirely by thefirst chat participant system 105. However, the UI may be rendered basedupon information and/or chat messages provided to the second chatparticipant system 305 by the chat host system 310.

Referring to FIG. 5A, in the procedure 500A, the first chat participantsystem 105 and the chat host system 310 are physically and/or logicallyconnected (step 505). For instance, first chat participant system 105may connect to the chat host system 310 across a network (e.g., network160) by supplying a first chat participant identification and passwordto a server (e.g., a login server) in order to obtain access to the chathost system 310.

Next, the presence state in the chat room or presence state change inthe chat room of the first chat participant system 105, (e.g., loginstate), is detected by the chat host system 310 (step 508). The chathost system 310 may detect other presence states or state changes, suchas, for example, when the first chat participant signs out, is inactivefor a period of time, becomes active after having been inactive for aperiod of time, indicates an ability to receive chat messages, orindicates an inability to receive chat messages. Presence in a chatcontext typically is defined by the entry of the chat participant into achat room.

Next, the personalization item identifiers are identified for the firstchat participant (step 509). Identifying the personalization itemidentifiers may include leveraging IM personalization items of the firstchat participant, for example, as described above with respect to FIG.3. In one implementation, the personalization items themselves may beidentified for the first chat participant.

The identifiers corresponding to the personalization items to beprojected by the first chat participant may be chosen on behalf of thefirst chat participant system by others, or may be presented to thefirst chat participant to depict the status or attributes of others. Theidentifier may be chosen to override or supplement a selection ofpersonalization items to be projected by others, or may be chosen as adefault in the absence of a selection by others.

After detecting the presence state change of the first chat participantsystem 105, the chat host system 310 may send or otherwise makeaccessible to other chat systems a notification of the first chatparticipant presence state change to other chat systems (step 514).Sending notification of the presence state change may include sending anidentifier corresponding to a personalization item selected by the firstchat participant system 105. For example, the chat host system 310 maysend an identifier corresponding to a sound chosen by the first chatparticipant system 105 for the presence state change.

In one implementation, the chat host system 310 assigns an identifier tothe personalization item. In another implementation, the system sendingthe personalization item assigns the identifier to the personalizationitem.

The identifier typically includes information allowing the correspondingpersonalization item to be located and retrieved. For example, theidentifier may include a location of the personalization item. Theidentifier also may include a type identifier that identifies thepersonalization item as, for example, an icon, an avatar, a chatwallpaper, an emoticon, or a sound. The type identifier also may includea file format of the personalization item. Also, the identifier mayinclude one or more flags to indicate, for example, if thepersonalization item is a custom item or an “official” item, has beenbanned, or has expired. Another flag may redirect the recipient to adifferent personalization item. The identifier may further includeinformation concerning the size of the personalization item. Theidentifier may be in a predetermined format and may be of apredetermined length.

The second chat participant system 305 receives the notification fromthe chat host system 310 (step 516). In the above example, receiving thenotification may include receiving an identifier corresponding to apersonalization item selected by the first chat participant system 105.In another implementation, the notification may be received without anidentifier. In another implementation, only the identifier itself may bereceived, and the identifier may serve as both notification andidentifier.

Next, the second chat participant system 305 determines whether thecorresponding personalization item is locally available (step 518). Forexample, the second chat participant system 305 may have stored thepersonalization in a local memory or another local storage location. Thesecond chat participant system uses the identifier to determine whetherthe corresponding personalization item is locally available. Forinstance, the identifier may contain the location at which thecorresponding personalization item is stored.

If the corresponding personalization item is available locally, thesecond chat participant system retrieves the correspondingpersonalization item (step 520) and renders the personalization item(step 530).

Otherwise, if the corresponding personalization item is not availablelocally, the second chat participant system 305 requests thecorresponding personalization item from the chat host system 310 or alocation otherwise specified by or inferred from the identifier (step522). That is, the second chat participant system 305 may request thecorresponding personalization item from another location such as thefirst chat participant system 105 or a remote, third party server.Requesting the corresponding personalization item may include sendingthe identifier associated with the personalization item to the chat hostsystem 310 along with a request to download the personalization item tothe second chat participant system 305.

When the chat host system 310 receives the request for a personalizationitem from the second chat participant system (step 524), and thepersonalization item is available, the chat host system 310 provides thecorresponding personalization item to the second chat participant system(step 526). Receiving the request may include having the chat hostsystem 310 receive the identifier associated with the personalizationitem along with a request to download the personalization item to thesecond chat participant system 305.

Next, the corresponding personalization item is received by the secondchat participant system (step 528), which may save the personalizationitem in a memory or other storage at the local second chat participantsystem 305. Then, the personalization item is rendered (step 530). Forexample, as discussed below with respect to FIG. 10, the personalizationitems may include personalization items for a chat participant list1005.

Referring to FIG. 5B, in procedure 500B, after the first chatparticipant system 105 connects to the chat host system 310 (step 505),the chat host system 310 optionally may provide the first chatparticipant system 105 with a personalization item update ornotification (step 510), which generally is responsive or related to thedetected state of the first chat participant system 105. For example, ifpersonalization items corresponding to certain identifiers have changedor expired, the updated personalization item may be transmitted to thefirst chat participant system 105. The update may be automatic or may berequested by the first chat participant system 105.

The first chat participant system 105 may receive the personalizationitem update or notification when first accessing chat host system 310(step 512), or at a later time, assuming that updates exist. Updatesreceived by first chat participant system 105 may be stored locally atthe first chat participant system 105.

Based on personalization updates received (optional steps 510 and 512)and other personalization items available, a personalization item isselected at the first chat participant system 105 (step 532). Asdiscussed below with respect to FIGS. 6-10, the selection may be madewith the assistance of first chat participant interfaces 600, 700, 800,900, and 1000, and the first chat participant may make the selectionusing a mouse or other input device. The selection may be made in anon-chat environment, and the user may not be aware of the applicationof the selected personalization items in chat. For example, theselection may be made in an IM application environment, and the IMpersonalization items may be leveraged by the chat system.

The personalization items may be selected manually by the first chatparticipant or may be automatically selected for the first chatparticipant. The first chat participant personalization items may bemade available to the first chat participant system and rendered at thefirst chat participant system by selecting the identifiers correspondingto the personalization items of the first chat participant. Theidentifiers may be associated with a screen name or other identifyinginformation of the first chat participant. For example, the identifiersmay be associated with the screen name of the first chat participant andstored locally at the first chat participant system, or the first chatparticipant system may retrieve the identifiers associated with thescreen name of the first chat participant from another location, such asthe chat host system or another remotely accessible data store.

The first chat participant system uses the identifier to determine ifthe corresponding personalization item is available locally at the firstchat participant system, and if so, the first chat participant systemretrieves the corresponding personalization item. If the personalizationitem is not available locally at the first chat participant system, thefirst chat participant system requests the personalization item fromanother location such as a chat host system or another remotelyaccessible data store. Alternatively, the personalization item itselfmay be associated with the first chat participant and retrieved by thefirst chat participant system. Once the first chat participant systemlocates or receives the personalization item, the first chat participantsystem renders the item for perception by the first chat participant.

Thereafter, a chat message is generated by the first chat participantsystem 105 to be sent to the second chat participant system 305 (step534). In one implementation, the first chat participant may generate thechat message by manipulating a UI, such as the UI 1000 shown in FIG. 10.The UI 10500 may include personalization items of the second chatparticipant, such as an icon or avatar of the second chat participant.

To make the personalization items of the second chat participantavailable to the first chat participant in UI 1000, the first chatparticipant system 105 selects the identifiers corresponding to thepersonalization items of the second chat participant. The identifiersmay be associated with a screen name or other identifying information ofthe second chat participant. For example, the identifiers may beassociated with the screen name of the second chat participant andstored locally at the first chat participant system 105, or the firstchat participant system may retrieve the identifiers associated with thescreen name of the second chat participant from a remotely-accessibledata store such as the chat host system 310, the second chat participantsystem 305, or a remote or third-party server. As such, personalizationitems of the second chat participant may be made available to the firstchat participant before the receipt by the first chat participant of achat from the second chat participant.

The first chat participant system 105 uses the identifiers to identifythe personalization item associated with the recipient, and to locateperceivable content corresponding to the identifier. For instance, anidentifier received from a recipient may be used as a basis fordetermining if the corresponding personalization items are availablelocally at the first chat participant system, and if so, may be used toretrieve the corresponding personalization items. If the personalizationitems are not available locally at the first chat participant system105, the first chat participant system may use the identifiers as abasis for generating one or more requests for the personalization itemsfrom another location such as the chat host system 310 or anotherremotely accessible data store, such as the second chat participantsystem 305 or a remote or third-party server. Once the first chatparticipant system 105 locates or receives the personalization items,that system renders the items for perception by the first chatparticipant.

Next, the first chat participant system 105 transmits the chat messagealong with an identifier corresponding to each personalization item tothe chat host system 310 (step 536). The first chat participant maymanipulate a user interface to render a chat user interface. The firstchat participant may select the screen name of the second chatparticipant system, cause the chat UI to be rendered, and type themessage in a chat compose area to generate the chat. The first chatparticipant system 105 includes one or more personalization items to betransported in the chat message. The chat message may be transmitted,for example, by selecting a send control.

The chat host system 310 receives the chat message and the identifier(step 538). The chat host system 310 then may authenticate the chatmessage for security purposes (step 540).

The chat host system 310 determines whether the correspondingpersonalization item is stored at the chat host 310 (step 542). The chathost system 310 may have stored the personalization on a server 390 orin a local memory or other local storage location. The chat host system310 uses the identifier in determining whether the correspondingpersonalization is available locally. For instance, the identifier maycontain the location at which the corresponding personalization item isstored. If the corresponding personalization item is available locallyat the chat host system 310, a format check may be performed on thepersonalization item (step 552) and the personalization item may be madeavailable to the second chat participant system 305 (step 554).

Otherwise, if the corresponding personalization item is not available atthe chat host system 310, the chat host system 310 may request thecorresponding personalization item from the first chat participantsystem (step 544). Alternatively, the chat host system 310 may requestthe corresponding personalization item from another location, such asthe second chat participant system 305 or a remote, third party server.Requesting the corresponding personalization item may include sendingthe identifier associated with the personalization item to the firstchat participant system 105 along with a request to download thepersonalization item to the chat host system 310.

The first chat participant system 105 receives the request for thepersonalization item from the chat host system (step 546). Receiving therequest may include receiving the identifier associated with thepersonalization item along with a request to download thepersonalization item to the chat host system 310.

The first chat participant system 105 provides the correspondingpersonalization item to the second chat participant system (step 548).The personalization item provided by the first chat participant systemmay include a user-customized personalization item.

The corresponding personalization item is received by the chat hostsystem 310 and the personalization item and/or the associated identifierare stored (step 550). Storing the personalization item and/or theidentifier may include saving the personalization item and/or theidentifier in a memory or other storage at the chat host system 310.

A format check may be performed on the personalization item (step 552).The format check may include comparing the actual format of thepersonalization item to the expected format of the personalization itembased upon the identifier.

The chat host system 310 sends the chat message and the identifiercorresponding to the selected personalization item to the second chatparticipant system 305 (step 554). Because various aspects of steps554-570 are similar to those discussed above with respect to steps514-530 of procedure 500A, the following discussion of steps 554-570 issomewhat abbreviated.

In one implementation, the chat host system 310 assigns an identifier tothe personalization item. In another implementation, the client systemsending the personalization item assigns the identifier to thepersonalization item.

The second chat participant system 305 receives the notification fromthe chat host system 310 (step 556). Receiving the notification includesreceiving an identifier corresponding to the personalization itemselected by the first chat participant system 105, as discussed abovewith respect to step 516.

Next, the second chat participant system 305 determines whether thecorresponding personalization item is available locally (step 558). Asdiscussed above with respect to step 518, the second chat participantsystem 305 may have stored the personalization in a local memory orother local storage location. The second chat participant system 305uses the identifier to determine whether the correspondingpersonalization is available locally. For instance, the identifier maycontain the location at which the corresponding personalization item isstored. Such a determination may include determining whether thecorresponding personalization items are available through IM, and/ordetermining whether the corresponding personalization items areavailable through chat. For example, a determination may be made as towhether the corresponding personalization items are available through anIM client or a chat client.

If the corresponding personalization item is available locally, thesecond chat participant system 305 retrieves the correspondingpersonalization item (step 560) and the personalization item is rendered(step 570).

Otherwise, if the corresponding personalization item is not availablelocally, the second chat participant system 305 requests thecorresponding personalization item from the chat host system 310 (step562). Alternatively, as discussed above with respect to step 522, thesecond chat participant system 305 may request the correspondingpersonalization item from another location, such as the first chatparticipant system 105 or a remote, third party server. In oneimplementation, the personalization item may be provided by a thirdparty, and may be made available in consideration of a payment by thefirst chat participant or the second chat participant. Requesting thecorresponding personalization item may include sending to the chat hostsystem 310 the identifier associated with the personalization item alongwith a request to download the personalization item to the second chatparticipant system 305.

The chat host system 310 receives the request for the personalizationitem from the second chat participant system 305 (step 564). Asdiscussed above with respect to step 524, receiving the request mayinclude receiving the identifier associated with the personalizationitem along with a request to download the personalization item to thesecond chat participant system 305. The chat host system 310 providesthe corresponding personalization item to the second chat participantsystem 305 (step 566).

The corresponding personalization item is received by the second chatparticipant system 305 (step 568). As discussed above with respect tostep 528, receiving the corresponding personalization item may includesaving the personalization item in a memory or other storage at thelocal second chat participant system 305.

Finally, the personalization item is rendered (step 570). As discussedbelow with respect to FIG. 10, the personalization item to be renderedmay include an icon or avatar.

The relative order of steps 505-530 with respect to other steps inprocedure 500A, and the relative order of steps 505-570 with respect toother steps in procedure 500B, and also with respect to each other, mayvary. For example, a personalization update (step 510 of FIG. 5B) may beperformed during, after, or simultaneously with sending notification ofa first chat participant presence state change (step 514 of FIG. 5A).Also, certain steps may be omitted entirely, as appropriate. Forexample, referring to FIG. 5A, if the first chat participant has notchosen a personalization item to be sent to the second chat participantsystem 305 upon a presence state change, then no such item will be sentand steps 516-530 may be eliminated entirely. In another example,referring to FIG. 5B, steps 540-552 may be eliminated such that, afterreceiving the chat with the identifier from the first chat participantsystem, the host next sends the chat with the identifier to the secondchat participant system.

FIG. 6 illustrates one example of a first chat participant UI 600 forenabling a first chat participant to select personalization items (e.g.,at step 532). The UI 600 may be presented to a first chat participant ofa chat service provider. In general, the UI 600 is rendered on the firstchat participant system 105 using software stored on the first chatparticipant system 105. The personalization items to be selected by thefirst chat participant may be stored on the first chat participantsystem 105, on the chat host system 310, or on a different host system110 such as a host system of an authorized partner.

The UI 600 includes menu tabs 605, 635 and 640 that each have acorresponding menu to assist the first chat participant with selectingpersonalization items. For example, as shown in FIG. 6, the menu 605 acorresponding to menu tab 605 enables a first chat participant to makeselections of personalization items including icons 610, chat wallpaper615, and smiley (or emoticon) themes 620. The first chat participant'scurrent selections of icon 610 a ₁, mini icon 610 a ₂, chat wallpaper615 a, and smiley theme 620 a are displayed. Each of thesepersonalization items may be made available to and rendered by a secondchat participant during a chat conversation with the first chatparticipant.

A control 610 b is provided for the first chat participant to select alarge icon 610 a ₁ and/or a mini icon 610 a ₂, and a control 610 c isprovided to enable reset of the icon selections back to a defaultsetting (e.g., none). Another control 615 b is provided to enableselection of chat wallpaper 615 a, and a control 615 c is provided toenable reset of the chat wallpaper selection back to a default setting.Yet another control 620 b is provided to enable a smiley theme 620 a,and a control 620 c is provided for the first chat participant to resetthe smiley theme selection back to a default setting.

Other controls 625 are provided for functions such as, for example,displaying a timestamp on chat messages, using an address book toautomatically suggest screen names, displaying the icons or avatars ofpeople who send chat messages to the first chat participant, displayingthe chat wallpaper of people who send chat messages to the first chatparticipant, and displaying smileys as art. Controls 630 are providedfor the first chat participant to save the changes made, apply thechanges, cancel the changes, or get help.

FIG. 7 illustrates an example of a first chat participant UI 700 forenabling a first chat participant to select an icon or avatar (or apersonalization item). The UI 700 is rendered in response to usermanipulation of a control 610 b (shown in FIG. 6). In the example ofFIG. 7, the first chat participant is presented with a list of icon oravatar categories 705 and a list of subcategories 710 corresponding to aselected category. When a first chat participant selects a category 705and a subcategory 710, a window 715 displays the personalization itemsavailable in the selected subcategory. The first chat participant mayselect a personalization item by, for example, using a mouse or otherinput device to make a selection among the available personalizationitems displayed in the window 715. Also, an archive 720 of oldpersonalization items may be provided for first chat participantselection. In another implementation, the first chat participant mayprovide a custom icon or avatar as a personalization item.

FIG. 8 illustrates an example of a UI 800 for enabling a first chatparticipant to select chat wallpaper. The UI 800 is rendered in responseto user manipulation of a control 615 b (shown in FIG. 6). In theexample of FIG. 8, the first chat participant is presented with a listof chat wallpaper categories 805. When a first chat participant selectsa category 805, a window 810 displays the personalization itemsavailable in the selected category. The first chat participant mayselect a personalization item by, for example, using a mouse or otherinput device to make a selection among the available items in the window810. Also, an archive 815 of old personalization items may be providedfor user selection. In another implementation, the first chatparticipant may provide a custom chat wallpaper as a personalizationitem.

FIG. 9 illustrates yet another example of a UI 900 for enabling a firstchat participant to select smiley themes. The UI 900 is rendered inresponse to user manipulation of a control 620 b (shown in FIG. 6). Inthe example of FIG. 9, the first chat participant is presented with alist of smiley theme categories 905. When a first chat participantselects a category 905, a window 910 displays the personalization itemsavailable in the selected category. The first chat participant mayselect a personalization item by, for example, using a mouse or otherinput device to make the selection among the available items in thewindow 910. Also, an archive of old personalization items may beprovided for first chat participant selection. In anotherimplementation, the first chat participant may provide a custom smileytheme as a personalization item.

FIG. 10 illustrates one example of a chat UI 1000 that may be presentedto a first chat participant of a chat service provider such as providedby America Online. The UI 1000 is rendered in response to usermanipulation of a user interface control. In general, the UI 1000 isrendered on the first chat participant system 105 using software storedon the first chat participant system 105. One or more personalizationitems may be provided for the Generally, to be a part of aconversational group, a user joins a chat room. The chat host system 310then replicates the messages sent to the chat room by a user (e.g., thefirst chat participant or a second chat participant) to other users whohave joined the chat room.

The UI 1000 includes a chat participant list 1005 that enables a firstchat participant of a chat service to, among other things, perceive thepresence state of other second chat participants that have joined thechat room, and to send chat messages to second chat participants on thechat participant list 1005. As shown, there are ten chat participants,including the first chat participant 1005 a and nine second chatparticipants 1005 b, 1005 c, 1005 d, 1005 e, 1005 f, 1005 g, 1005 h,1005 j present in the chat room. The chat participant list 1005 mayinclude personalization items for each participant. As shown, the chatparticipants 1005 a, 1005 b, 1005 c, 1005 d, 1005 e, 1005 f, 1005 g,1005 h, and 1005 j have corresponding personalization items 1005 a ₁,1005 b ₁, 1005 c ₁, 1005 d ₁, 1005 e ₁, 1005 f ₁, 1005 g ₁, 1005 h ₁,and 1005 j ₁ displayed respectively. Each chat participant may manuallyselect the personalization items to be displayed in the chat room, orthe personalization items may be selected automatically for the chatparticipant. The personalization items may be rendered to the first chatparticipant as described above with respect to step 532 of FIG. 5B. Thetransmission of the personalization items may occur duringmachine-to-machine communications that are not visible to the user. Thechat participant list 1005 also may contain personalized links (notshown) to content and may have a customized appearance. The chatparticipant list 1005 may have a background image that may be, forexample, an image file.

The UI 1000 includes a chat display area 1010 to display the messages1015 a, 1015 b, 1015 c, 1015 d, 1015 e of an active chat session 1015.The conversation in the active chat session 1015 normally appears thesame for all participants in the chat room. A participant typicallyconverses with other participants by typing a line of text in an editbox 1025 and activating a send command, for example, by pressing theENTER key of the keyboard of the participant's second chat participantsystem 305. In response, the entered text is displayed in the chatdisplay area 1010. The participants in the chat room may now see theentered text.

As shown, the active chat session 1015 includes the second chatparticipant and the personalization of the second chat participant nextto the text entered by that second chat participant. For example,message 1015 a includes the identity of the first chat participant 1005a (“ChattingChuck”) and the personalization item 1005 a 1 associatedwith that first chat participant, and message 1015 b includes theidentity of the second chat participant 1005 b (“ItsDarian”) and thepersonalization item 1005 b 1 associated with that second chatparticipant. Also, the style of text may be viewed as a personalizationitem. For example, the text characters of message 1015 a have a“blended” color effect, the text characters of message 1015 b have analternating color effect, and the text characters of message 1015 c havea “wavy” effect by alternating superscript and subscript characters.Other combinations are possible. For example, different fonts or effectssuch as bold, underline, italics, or combinations of these may be used.

In one implementation, the first chat participant may choose apersonalization item, such as an icon or an emoticon to be sent in achat message from the first chat participant to the second chatparticipant. The first chat participant system sends an identifiercorresponding to the personalization item in the chat message, and thesecond chat participant system retrieves the correspondingpersonalization item based on the identifier. If the personalizationitem is not stored locally at the second chat participant system, thesecond chat participant system requests the personalization item fromanother source, such as a chat host.

The UI 1000 includes personalization items 1005 b 1 through 1005 j 1from the second chat participant and personalization item 1005 a 1 fromthe first chat participant. Typically, the personalization items aretransported from the second chat participant to the first chatparticipant by inserting an identifier corresponding to personalizationitem into a chat message from the second chat participant to the firstchat participant. The first chat participant system 105 receives thechat message and the identifier, and searches for the corresponding chatwallpaper and icon on the system of the first chat participant. If apersonalization item is not found on the system of the first chatparticipant, then the system retrieves the personalization item from adifferent location, such as, for example, a chat host 305. Onceretrieved, the first chat participant system renders the personalizationitem. A similar process is used when the first chat participant sends apersonalization item to be displayed to a second chat participant.

Alternatively, personalization items of the second chat participant maybe made available to the first chat participant without having toreceive a chat message from the second chat participant. The first chatparticipant system 105 selects the identifiers corresponding to thepersonalization items of the second chat participant. The identifiersmay be associated with a screen name or other identifying information ofthe second chat participant. For example, the identifiers may beassociated with the screen name of the second chat participant andstored locally at the first chat participant system 105, or the firstchat participant system may retrieve the identifiers associated with thescreen name of the second chat participant from another location such asthe chat host system 310 or another remotely accessible data store suchas the second chat participant system 305 or a remote or third-partyserver.

Also, as discussed above with respect to step 532 of FIG. 5B, thepersonalization items of the first chat participant may be rendered tothe first chat participant.

The first chat participant system 105 uses the identifiers to determineif the corresponding personalization items are available locally at thefirst chat participant system, and if so, the first chat participantsystem retrieves the corresponding personalization items. If thepersonalization items are not available locally at the first chatparticipant system 105, the first chat participant system requests thepersonalization items from another location such as a chat host system310 or another remotely accessible data store such as the second chatparticipant system 305, or a remote or third-party server. Once thefirst chat participant system 105 locates or receives thepersonalization items, the first chat participant system renders theitems on UI 1000 for perception by the first chat participant.

Similarly, personalization items chosen by the first chat participantmay be rendered in UI 1000. These items are typically stored locally onthe first chat participant system 105, and may be retrieved by the firstchat participant system 105. If an item is not stored locally, the firstchat participant system 105 may retrieve the personalization item from adifferent location such as, for example, a chat host 310. Onceretrieved, the first chat participant system 305 renders thepersonalization items. When the first chat participant sends a chatmessage to the second chat participants, the personalization items aretransported along with the chat message by sending an identifiercorresponding to personalization items. As described above with respectto FIGS. 5A and 5B, the second chat participant system 305 receives thechat message and the identifier, and searches for the correspondingpersonalization item on the system of the second chat participant. If apersonalization item is not found on the system of the second chatparticipant, then the second chat participant system 305 may retrievethe personalization item from a different location such as, for example,a chat host 305. Once retrieved, the second chat participant system 305renders the personalization item. FIG. 11 illustrates one example of achat UI 1100 is similar to the UI 1000 discussed with respect to FIG.10. UI 1100 illustrates a color selection interface 1105 that assists achat participant in selecting a color scheme to be applied to theparticipants' messages in order to personalize them.

FIG. 12 illustrates one example of a chat UI 1200 is similar to the UI1000 discussed with respect to FIG. 10. In the UI 1200, however, thechat display area 1010 does not display the names of the chatparticipants. Instead, one or more personalization items of the chatparticipants are displayed to represent the participant. For example, inmessage 1015 a, only the personalization item 1005 a 1 of the first chatparticipant 1005 a is displayed and represents the first chatparticipant 1005 a. Similarly, in message 1015 b, only thepersonalization item 1005 b 1 of the second chat participant 1005 b isdisplayed and represents the second chat participant 1005 b. This mayincrease the privacy protection of the participants in the chat room.

FIG. 13 illustrates one example of a chat UI 1300 is similar to the UI1200 discussed with respect to FIG. 12. In the UI 1300, however, thechat participant list 1005 does not display the names of the chatparticipants. Instead, one or more personalization items of the chatparticipants are displayed to represent the participant. For example,only the personalization item 1005 a 1 of the first chat participant1005 a is displayed and represents the first chat participant 1005 a inthe chat participant list 1005. Similarly, only the personalization item1005 b 1 of the second chat participant 1005 b is displayed andrepresents the second chat participant 1005 b in the chat participantlist 1005. This may increase the privacy protection of the participantsin the chat room.

FIG. 14A shows a table 1400A of text-based emotions and actions. Theemotions and actions may be personalized and may be considered apersonalization item in some implementations. For example, the emotionsand actions may be distinguished by a color or other characteristic. Achat participant may insert emotions and actions into the chat displayarea 1010 (FIG. 10). In one implementation, a first chat participantselects the desired second chat participant and selects the desiredemotion and/or action to produce an output that will appear in the chatdisplay area. For example, table 1400 illustrates examples of variouscombinations of first chat participant 1405, emotion 1410, action 1415,second chat participant 1420, text 1425, the chat outputs generated1430, and IM outputs generated 1435. An action in the IM environment maybe used to trigger different actions in the chat environment. The table1400A may be stored in a data storage such as data store 320 describedabove with respect to FIG. 3.

Referring to FIG. 14B, a table 1400B provides a mapping for one or morepersonalization items 1450 to definitions in chat 1455 and definitionsin IM 1460. The mapping may be made between the chat personalizationitems, opportunities, and settings and IM personalization items,opportunities, and settings. The mapping enables something defined in IMfor a particular context encountered in IM to be used for a differentcontext in chat, or vice versa. For example, presence in IM may bedefined as the use of the IM application by a user, whereas presence inchat may be defined as participation in a chat room. Therefore, the IMpersonalization item, such as a sound of a door opening, for becomingpresent in the IM Context may be applied to chat. However, theapplication in chat for becoming present is not beginning to use thechat application by the user, but instead for entry into one of severalchat rooms. The mapping may be modified, for example, by the user or bya system administrator. In another example, a personalization item 1450may be subject to a definition in chat 1455 that differs from thedefinition in IM 1460. The definitions may be modified by the user, asystem administrator, or automatically.

FIG. 15 illustrates an exemplary UI 1500 for enabling a chat participantto track the messages from another chat participant. The tracking may becustomized and may be considered a personalization item in oneimplementation. For example, the tracking may be controlled by the firstchat participant and accomplished through color or other text changeschosen by the first chat participant and tracked in the chat displayarea 1010 of the chat UI 1000 (FIG. 10). In another implementation, theappearance of the tracked text is controlled by the second chatparticipant.

Referring to FIGS. 16 and 17, the first chat participant system 105 andthe host system 110, such as a chat host system 310, interact accordingto exemplary procedure 1600 to enable a first chat participant to selecta personalization item and according to exemplary procure 1700 to makethe host-based personalization item selected by the first chatparticipant in procedure 1600 perceivable to the first chat participant.

Procedures 1600 and 1700 may be implemented by various types ofhardware, software, device, computer, computer system, equipment,component, program, application, code, or storage medium. Although notshown in FIGS. 16 and 17, the first chat participant system 105 and thehost system 110 may be directly or indirectly interconnected throughknown or described delivery networks, examples of which are describedwith respect to network 160.

The procedures 1600 and 1700 may be implemented in a client/hostcontext, or a standalone or offline client context. For example, whilesome functions of procedures 1600 and 1700 may be performed entirely bythe first chat participant system 105, other functions may be performedby host system 110, or the collective operation of the first chatparticipant system 105 and the host system 110. The host system 110 is acomputer remote to the chat operator systems, and may be, for example, achat host system 310. In procedures 1600 and 1700, the personalizationitem may be respectively selected and rendered by the standalone/offlinedevice, and the personalization item may be accessed or updated througha remote device in a non-client/host environment such as, for example, aLAN server serving an end user or a mainframe serving a terminal device.Thus, the procedures 1600 and 1700 described below may be implementedfor any OSP, ISP, browser and/or other software program having agraphical user interface, such as programs for chat, instant messaging,electronic mail and stand-alone browsers.

Procedure 1600 generally involves selecting a personalization item. Inthe procedure 1600, the first chat participant system 105 logs in orotherwise accesses the host system 110 (step 1605). For instance, firstchat participant system 105 may connect to the host system 110 across anetwork (e.g., network 160) by supplying verifiable credentials to aserver (e.g., a login server) at the host system 110. More specifically,a browser may be used to access a web-available interface, a chatmessage may be used to access a selectable interface, or a chat clientthat has an interface to a host may be used, among other options.

The host system 110 identifies (e.g., through a lookup) and accessespersonalization items associated with the first chat participant forselection by the first chat participant system 105 (step 1610). In oneimplementation, the host system 110 may use a screen name of the firstchat participant system 105 or another identification of the first chatparticipant system 105 to select/identify personalization itemsavailable to the first chat participant system 105. IM personalizationitems may be leveraged in the identification and access of thepersonalization items, as discussed, for example, with respect to FIG.5A and FIG. 3.

Next, the host system 110 enables perception by the first chatparticipant system 105 of personalization items and/or menus enablingthe selection of personalization items (step 1615). FIGS. 6-9 describevarious interfaces available to the operator, which may be used toselect personalization items and which were previously described. Basedon the personalization items or menus provided or otherwise madeperceivable to the operator of the first chat participant system 105,the first chat participant system selects personalization item(s) ofinterest (step 1620).

The host system 110 receives the personalization item selection from thefirst chat participant system 105 (step 1625), associates the selectionwith an identifier for the selected personalization items, anddetermines the identifier for the selected personalization item(s) (step1630). The identifier typically includes information allowing thecorresponding personalization item to be located and retrieved. Forexample, the identifier may include a location of the personalizationitem. The identifier also may include a type identifier that identifiesthe personalization item as, for example, an icon or avatar, a chatwallpaper, an emoticon, or a sound. The type identifier also may includea file format for the personalization item. The identifier may includeone or more flags to indicate whether the personalization item is, forexample, a custom item or an “official” item, whether thepersonalization item has been banned, or whether the personalizationitem has expired. Where appropriate, another flag may redirect therecipient to a different personalization item. The identifier mayfurther include information concerning the size of the personalizationitem. The identifier may have a predetermined format and a predeterminedlength.

Optionally, the identifier may be stored at the host (step 1635). Thehost system 110 may store the identifier(s) in a memory or otherstorage, either local or remote to the host system 110. The host system110 also may send the identifier(s) to the first chat participant system105. The first chat participant may have chosen a personalization itemfrom a location including the first chat participant system 105, thehost system 110, or another host system. When the first chat participantchooses a personalization item that is locally stored on the first chatparticipant system 105, an identifier may be created for the chosenpersonalization item based upon a hash of the item data. The identifier,when sent to the a remote location such as the host 110, may be checkedto determine if the chosen personalization item is already known to thehost system, and if so, whether the personalization item is designatedas, for example, an official item. This allows the first chatparticipant to select personalization items from the first chatparticipant's own client system, but prevents the host system or otherremote location from needing to store duplicate copies of the sameitems. Also, the host system or other remote location is able todetermine if such items are specially designated as, for example,official items and may be rendered to users who desire to view onlyitems so designated.

Finally, the first chat participant system 105 optionally receives theidentifier(s) for the selected personalization items to enable storageat the first chat participant system (step 1640).

The relative order of steps 1605-1635 with respect to other steps inprocedure 1600, and also with respect to each other, may vary. Certainsteps may be omitted entirely, as appropriate.

FIG. 6 illustrates one example of a first chat participant UI 600 forenabling a first chat participant to select personalization items, andis discussed above with respect to FIGS. 5A and 5B.

FIG. 7 illustrates an example of a first chat participant UI 700 forenabling a first chat participant to select an icon or avatar (or apersonalization item) and is described above with respect to FIGS. 5Aand 5B.

FIG. 8 illustrates an example of a UI 800 for enabling a first chatparticipant to select chat wallpaper (or a personalization item) and isdiscussed above with respect to FIGS. 5A and 5B.

FIG. 9 illustrates an example of a UI 900 for enabling a first chatparticipant to select smiley themes (or a personalization item) and isdiscussed above with respect to FIGS. 5A and 5B.

As discussed with respect to FIGS. 6-9, the personalization itemperception and selection may be assisted by user interfaces 600, 700,800 and 900, which enable the first chat participant to make a selectionusing a mouse or other input device.

Personalization item(s) may be selected manually by the first chatparticipant or the personalization item(s) may be automatically selectedfor the first chat participant. The first chat participantpersonalization items may be made available to the first chatparticipant system by obtaining one or more identifiers corresponding tothe personalization items selected the first chat participant. Theidentifiers may be associated with a screen name or other identifyinginformation of the first chat participant. For example, the identifiersmay be associated with the screen name of the first chat participant andstored locally at the first chat participant system, or the first chatparticipant system may retrieve the identifiers associated with thescreen name of the first chat participant from another location, such asa host system, including the chat host system, or anotherremotely-accessible data store.

Referring to FIG. 17, an exemplary process 1700 may be used to render apersonalization item. In procedure 1700, the first chat participantsystem 105 loads/invokes a local application (1705). The invocation mayresult from user selection of the interface or it may occurautomatically in response to a triggering event, such as the receipt ofa chat message. Loading/invoking a local application may includeinvoking an application having an interface that renders apersonalization item such as, for example, a chat program having a localclient or local interface (e.g., a browser).

The local application may be loaded/invoked (1705) at various times. Inone implementation, a local application having personalization items tobe rendered may be loaded/invoked upon literal loading of the clientapplication. For instance, the application may be loaded or invokedwithout regard to whether the personalization items are being renderedin the main interface of the application or in a sub-interface of theapplication. In another implementation, a local application havingpersonalization items to be rendered may be loaded/invoked only after aninterface within the application is invoked that requires a host-basedpersonalization item, even if the application itself were previouslyloaded/invoked. For example, a chat communications window may be invokedafter the chat application has been loaded. In yet anotherimplementation, a local application having personalization items to berendered may be loaded/invoked upon receiving a status updated from aremote source other than the host system 110. For example, while a chatcommunications window/session is open, if the application is notifiedthat the status of the remote communications has changed, the processmay be invoked such that an identifier is accessed based on the receivedmessage or credentials, for example, the screen name of the party whosestatus has changed, and used as the basis for identifying an appropriatepersonalization item from the host.

In one implementation, the personalization items are not downloadeduntil a triggering event occurs. Once a triggering event, such as theloading of an application UI, occurs, the personalization item may bedown loaded.

Next, the first chat participant system 105 accesses the identifier(s)associated with possible personalization items to be rendered withrespect to the first chat participant (step 1710). For example, whereidentifier(s) have been selected, received, and subsequently stored bythe first chat participant system 105, as described with respect to step1635 of procedure 1600, they then are submitted to the appropriate hostfor retrieval of the personalization item(s) corresponding to theidentifier(s) (step 1715). In one implementation, the first chatparticipant system 105 requests the corresponding personalization itemfrom the host system 110 or a location otherwise specified by orinferred from the identifier. That is, the first chat participant system105 may request the corresponding personalization item from anotherlocation such as a remote, third party server different from host system110.

Thus, the identifier generally identifies the personalization items thatreside on the host. It may do so explicitly, by referencing particularpersonalization items or indirect addressing for such personalizationitems stored elsewhere, or it may do so indirectly by referencing groupsof personalization items. Where indirect, it may identify a predefinedgrouping, or it may instead merely identify the user specifically (e.g.,a screen name) or by class (e.g., business class user to be providedbusiness class personalization items).

The identifiers corresponding to the personalization items to beprojected by the first chat participant may be chosen on behalf of thefirst chat participant system by others, or may be presented to thefirst chat participant to depict the status or attributes of others. Theidentifier may be chosen to override or supplement a selection ofpersonalization items to be projected by others, or may be chosen as adefault in the absence of a selection by others.

Next, the host system 110 receives the identifier call from the firstchat participant system 105 (step 1720), and the host system accessesthe personalization item(s) associated with the identifier(s) (step1725). Where indirect personalization item identifiers are used, thehost system 110 uses the received identifier to locate other identifiersfor personalization items associated with the submitted identifier.

Thereafter, the host system 110 communicates personalization items to(or on behalf of) the first chat participant system 105 with thepersonalization item(s) corresponding to the submitted identifier(s)(step 1730), and the first chat participant system 105 renders thepersonalization item(s) (step 1735). Upon receipt of personalizationitems from the host system 110, the first chat participant system 105save the personalization item(s) in a memory or other storage at thelocal first chat participant system 105 (e.g., it may cache them forfuture access/display).

The relative order of steps 1705-1735 with respect to other steps inprocedure 1700, and also with respect to each other, may vary. Certainsteps may be omitted entirely, as appropriate.

FIG. 10 shows an example of a chat participant list 1005 and isdiscussed above with respect to FIGS. 5A and 5B.

The chat participant list bar 1105 may contain personalized links 1105a, 1105 b, 1105 c, and 1105 d to content and may have a customizedappearance. The chat participant list image 1110 and the chatparticipant list background image 1115 may be, for example, image filesfrom a remote source. The chat participant list background image 1115may have a washed out appearance. The chat participant list fill pattern1120 may be a color or pattern background for the buddy list, or mayalso be an image. One or more of these personalization items may betransmitted to a first chat participant and rendered on the first chatparticipant system 105. The transmission of the personalization itemsmay occur during machine-to-machine communications that are not visibleto the user.

FIG. 10 illustrates one example of a chat UI 1000 and is discussed abovewith respect to FIGS. 5A and 5B.

Referring to FIG. 18, procedure 1800 illustrates one possible method fordiscerning between personalization items to be retrieved locally by thefirst chat participant system 105 and items to be retrieved remotelyfrom the first chat participant system. In procedure 1800, after thefirst chat participant system accesses identifier(s) associated withpossible personalization items to be rendered (1710, see procedure1700), the first chat participant system 105 determines whether thecorresponding personalization item is available locally (step 1810). Forexample, the first chat participant system 105 may have stored thecorresponding personalization in a local memory or another local storagelocation, and the identifier may specify or be otherwise useful indetermining the location at which the corresponding personalization itemis stored.

If the corresponding personalization item is not available locally, thefirst chat participant system 105 submits the identifiers to theappropriate host (step 1715), as described above with respect toprocedure 1700.

If the corresponding personalization item is available locally, thefirst chat participant system retrieves the correspondingpersonalization item (step 1815), and then renders the personalizationitem (step 1735) as described above with respect to procedure 1700.

In another implementation, the host is first interrogated as to whetherthe corresponding personalization item is located on the host. Inanother implementation, a list is maintained and a search is performedon the list or on a known directory or location.

FIGS. 19, 21, 22, and 23 illustrate exemplary procedures 1900, 2100,2200, and 2300 to make a personalization item selected by an intendedchat destination recipient perceivable to the first chat participantduring a chat communications session, and, more particularly, to renderthe personalization item associated with an intended second chatparticipant to the first chat participant prior to the communication ofa chat message with the intended recipient system.

Procedures 1900, 2100, 2200, and 2300 generally involve rendering apersonalization item and may be implemented by various types ofhardware, software, device, computer, computer system, equipment,component, program, application, code, or storage medium. In oneimplementation, a host 110 may be used in place of the chat host 310.Furthermore, although not shown in FIGS. 19, 21, 22, and 23, the firstchat participant system 105 and the chat host system 310 may be directlyor indirectly interconnected through known or described deliverynetworks, examples of which are described with respect to network 160.

The procedures 1900, 2100, 2200, and 2300 may be implemented in aclient/host context, or a standalone or offline client context. Forexample, while some functions of procedures 1900, 2100, 2200, and 2300may be performed entirely by the first chat participant system 105,other functions may be performed by the chat host system 310 or thecollective operation of the first chat participant system 105 and thechat host system 310. For instance, a personalization item may berendered entirely by the first chat participant system 105, or thepersonalization item may be rendered based upon information provided tothe first chat participant system 105 by the chat host system 310.

The personalization item may be rendered by the standalone/offlinedevice and may be accessed or updated through a remote device in anon-client/host environment such as, for example, a LAN server servingan end user or a mainframe serving a terminal device. Thus, theprocedures 1900, 2100, 2200, and 2300 described below may be implementedfor any OSP, ISP, browser and/or other software program having agraphical user interface, such as programs for chat, chat, electronicmail and stand-alone browsers.

Referring to FIG. 19, in the procedure 1900, the first chat participantopens a chat application on the first chat participant system 105 (step1905). FIG. 6 describes an exemplary interface available to the firstchat participant, which may be used to open a chat application on thefirst chat participant system and which will be described below.

Next, an intended destination recipient (hereinafter “second chatparticipant”) is selected (step 1910). Selecting an intended destinationrecipient includes making a selection so that a message will be postedin the chat room. FIG. 20 illustrates an exemplary interface availableto the first chat participant, which will be described below, and whichmay be used to select an intended destination recipient.

Next, a chat user interface (UI) is opened to enable selection ofinformation to be communicated to the intended destination (step 1915).A user interface may be manipulated to open a chat user interface.

Finally, the personalization items associated with the selected secondchat participant are rendered in the chat UI subsequently, during thepresent and future chat sessions involving the intended destination(step 1920). FIG. 20 describes an exemplary interface available to thefirst chat participant which may be used when rendering thepersonalization items of the selected second chat participant, and whichwill be described below.

The second chat participant may have chosen a personalization item froma location including the second chat participant system 305, the chathost system 310, or another host system. When the second chatparticipant chooses a personalization item that is locally stored on thesecond chat participant system 305, an identifier may be created for thechosen personalization item based upon a hash of the item data. Theidentifier, when sent to a remote location such as the chat host 310,may be checked to determine if the chosen personalization item isalready known to the host system, and if so, whether the personalizationitem is designated as, for example, an official item. This allows thesecond chat participant to select personalization items from the secondchat participant's own client system, but prevents the host system orother remote location from needing to store duplicate copies of the sameitems. Also, the host system or other remote location is able todetermine if such items are specially designated as, for example,official items and may be rendered to users who desire to view onlyitems so designated.

FIG. 20 illustrates an example of a UI 2000 that may be presented to auser of a chat service provider. The UI 2000 is similar to thatdescribed above with respect to FIG. 10, however, not chatcommunications have yet taken place in the chat room with respect to achat participant whose personalization items are to be rendered. Moreparticularly, the UI 2000 includes a chat participant list 1005 thatenables a first chat participant of a chat service to, among otherthings, perceive the presence state of other second chat participantsthat have joined the chat room, and to send chat messages to second chatparticipants on the chat participant list 1005. As shown, there are tenchat participants, including the first chat participant 1005 a and ninesecond chat participants 1005 b, 1005 c, 1005 d, 1005 e, 1005 f, 1005 g,1005 h, 1005 j present in the chat room. The chat participant list 1005may include personalization items for each participant. As shown, thechat participants 1005 a, 1005 b, 1005 c, 1005 d, 1005 e, 1005 f, 1005g, 1005 h, and 1005 j have corresponding personalization items 1005 a ₁,1005 b ₁, 1005 c ₁, 1005 d ₁, 1005 e ₁, 1005 f ₁, 1005 g ₁, 1005 h ₁,and 1005 j ₁ displayed respectively.

The UI 2000 includes a chat display area 1010 to display the messages ofan active chat session 1015. An active chat session has not yet begun inthe example of FIG. 20.

Personalization items of the second chat participant may be madeavailable to the first chat participant upon activating UI 1000 andwithout having to wait to receive a communication such as a chat messagefrom the second chat participant. The first chat participant system 105selects the identifiers corresponding to the personalization items ofthe second chat participant. The identifiers may be associated with ascreen name or other identifying information of the second chatparticipant. For example, the identifiers may be associated with thescreen name of the second chat participant and stored locally at thefirst chat participant system 105, or the first chat participant systemmay retrieve the identifiers associated with the screen name of thesecond chat participant from another location such as the chat hostsystem 310 or another remotely-accessible data store such as the secondchat participant system 305 or a remote or third-party server.

The first chat participant system 105 uses the identifiers to determineif the corresponding personalization items are available locally at thefirst chat participant system, and if so, the first chat participantsystem retrieves the corresponding personalization items. If thepersonalization items are not available locally at the first chatparticipant system 105, the first chat participant system requests thepersonalization items from another location such as a chat host system310 or another remotely-accessible data store. Once the first chatparticipant system 105 locates or receives the personalization items ofthe second chat participant, the first chat participant system rendersthe items on UI 1000 for perception by the first chat participant.

For example, wallpaper or a different personalization item reflective ofsettings established for a selected buddy may be rendered on the chatparticipant list 1010 of the first chat participant when the first chatparticipant rolls a mouse pointer over the name of the second chatparticipant or otherwise specifies a user in the chat participant list1005. In another implementation, the first chat participant may tie theparticipant's wallpaper or other personalization item setting to followthat of a selected participant on the chat participant list 1010. Inother words, the personalization item of the first chat participant maybe set to follow that of a selected second chat participant, for examplesecond chat participant 1005 b, such that when second chat participant1005 b makes a change to the wallpaper or other personalization item,the resulting change is reflected to the first chat participant in thepersonalization items rendered for the first chat participant.

Chat personalization items of the second chat participant may berendered by various types of hardware, software, device, computer,computer system, equipment, component, program, application, code, orstorage medium. In one implementation, the chat personalization itemsmay be rendered in a client/host context, and the chat personalizationitems may be accessed or updated through a remote device in aclient/host environment. In another implementation, the chatpersonalization items may be implemented in a standalone or offlineclient context. The chat personalization items may be rendered by thestandalone/offline device and may be accessed or updated through aremote device in a non-client/host environment such as, for example, aLAN (Local Area Network) server serving an end user or a mainframeserving a terminal device.

Regarding FIG. 21, procedure 2100 shows one possible implementation ofrendering a personalization item associated with the selected secondchat participant (step 1920), as described with respect to FIG. 19. Inprocedure 2100, personalization items of the selected second chatparticipant may be made available to the first chat participant systemand rendered at the first chat participant system based on identifierscorresponding to the personalization items of the second chatparticipant, which may be maintained or accessed by the chat host system310.

In procedure 2100, the first chat participant system 105 first sends theidentifier corresponding to the personalization item to the chat hostsystem 310 (step 2125). The identifiers may be associated with a screenname or other identifying information of the second chat participant.For example, the identifiers may be associated with the screen name ofthe second chat participant and stored locally at the first chatparticipant system, or the first chat participant system may retrievethe identifiers associated with the screen name of the second chatparticipant from another location, such as the chat host system oranother remotely accessible data store.

The chat host system 310 receives the identifier from the first chatparticipant system 105 (step 2130).

Next, the chat host system 310 looks up the personalization item(s)associated with the identifier (step 2135), and retrieves thepersonalization item(s) corresponding to the identifier (step 2140). Inother words, the first chat participant system uses the identifier todetermine if the corresponding personalization item is available locallyat the first chat participant system, and if so, the first chatparticipant system retrieves the corresponding personalization item.When the personalization item is not available locally at the first chatparticipant system, the first chat participant system 105 requests thepersonalization item by sending the selected identifier to the chat hostsystem 310 or another remotely accessible data store (not shown).Alternatively, the personalization item itself may be associated withthe second chat participant and retrieved by the first chat participantsystem 105.

Ultimately, the personalization item(s) are returned to the first chatparticipant system 105 (step 2145).

The corresponding personalization item(s) are received by the first chatparticipant system 105 (step 2150). Receiving the correspondingpersonalization item may include saving (e.g., caching) thepersonalization item in a memory or other storage at the local firstchat participant system 105.

Finally, the chat UI is populated with the personalization item(s) (step2155). That is, once the first chat participant system locates orreceives the personalization item, the first chat participant systemrenders the item for perception by the first chat participant. As shownwith respect to FIG. 7, the personalization items to be populated mayinclude an icon 709 or chat wallpaper 707.

The relative order of steps 1905-1930 with respect to other steps inprocedure 1900, and the relative order of steps 2125-2155 with respectto other steps in procedure 2100, and also with respect to each other,may vary. Also, certain steps may be omitted entirely, as appropriate.

FIGS. 22 and 23 show one possible implementation of the proceduresdiscussed with respect to FIGS. 19 and 21. The first chat participantsystem 105 and the chat host system 310 interact according to exemplaryprocedures 2200 and 2300 to make a personalization item selected by thesecond chat participant perceivable to the first chat participant duringa chat communications session. FIGS. 22 and 23 differ from FIGS. 19 and21 in that personalization items are made available in response to atriggering event (e.g., a detected change in presence of a user beingmonitored) rather than in response to invocation of an application orapplication interface.

Referring to FIG. 22, in the procedure 2200, the first chat participantsystem 105 and the chat host system 310 are physically and/or logicallyconnected (step 2205). For instance, first chat participant system 105may connect to the chat host system 310 across a network (e.g., network160) by supplying a first chat participant identification and passwordto a server (e.g., a login server) in order to obtain access to the chathost system 310.

Next, the presence state or presence state change of the second chatparticipant system 305, e.g., login state, is detected by the chat hostsystem 310 (step 2208). The chat host system 310 may detect presencestates or state changes, such as, for example, when the second chatparticipant signs out, is inactive for a period of time, becomes activeafter having been inactive for a period of time, indicates an ability toreceive chat messages, or indicates an inability to receive chatmessages. A pool of potential second chat participants may be monitoredand associated with the screen name of a sender through use of a chatparticipant list or similar mechanism. Alternatively, the entire userbase may be monitored or some intelligent method, of monitoringpotential second chat participants may be used. The first chatparticipant may select one or more second chat participant to whom thefirst chat participant may wish to send a chat message.

After detecting the presence state or state change of the second chatparticipant system 305, the chat host system 310 may send or otherwisemake accessible to the first chat participant system 105 and other chatsystems a notification of the second chat participant presence statechange or state change (step 2214). Sending notification of the presencestate change may include sending an identifier corresponding to apersonalization item selected by the second chat participant system 305.For example, the chat host system 310 may send an identifiercorresponding to a sound chosen by the second chat participant for thepresence state change.

In one implementation, the chat host system 310 assigns an identifier tothe personalization item. In another implementation, the second chatparticipant system 305 assigns the identifier to the personalizationitem. In yet another implementation, the identifier is assigned by ahost system other than the chat host system 310.

The identifier typically includes information allowing the correspondingpersonalization item to be located and retrieved. For example, theidentifier may include a location of the personalization item. Theidentifier also may include a type identifier that identifies thepersonalization item as, for example, an icon or avatar, a chatwallpaper, an emoticon, or a sound. The type identifier also may includea file format of the personalization item. Also, the identifier mayinclude one or more flags to indicate, for example, if thepersonalization item is a custom item or an “official” item, has beenbanned, or has expired. Another flag may redirect the sender to adifferent personalization item. The identifier may further includeinformation concerning the size of the personalization item. Theidentifier may be in a predetermined format and may be of apredetermined length.

The first chat participant system 105 receives the notification from thechat host system 310 (step 2216). In the above example, receiving thenotification may include receiving an identifier corresponding to apersonalization item selected by the second chat participant system 305.

Next, the first chat participant system 105 determines whether thecorresponding personalization item is locally available (step 2218). Forexample, the first chat participant system 105 may have stored thepersonalization in a local memory or another local storage location. Thefirst chat participant system uses the identifier to determine whetherthe corresponding personalization item is locally available. Forinstance, the identifier may contain the location at which thecorresponding personalization item is stored.

If the corresponding personalization item is available locally, thefirst chat participant system retrieves the correspondingpersonalization item (step 2220) and renders the personalization item(step 2230).

Otherwise, if the corresponding personalization item is not availablelocally, the first chat participant system 105 requests thecorresponding personalization item from the chat host system 310 or alocation otherwise specified by or inferred from the identifier (step2222). That is, the first chat participant system 105 may request thecorresponding personalization item from another location such as thesecond chat participant system 305 or a remote, third party server.Requesting the corresponding personalization item may include sendingthe identifier associated with the personalization item to the chat hostsystem 310 along with a request to download the personalization item tothe first chat participant system 105.

When the chat host system 310 receives the request for a personalizationitem from the first chat participant system (step 2224), the chat hostsystem 310 provides the corresponding personalization item to the firstchat participant system (step 2226). Receiving the request may includehaving the chat host system 310 receive the identifier associated withthe personalization item along with a request to download thepersonalization item to the first chat participant system 105.

Next, the corresponding personalization item is received by the firstchat participant system (step 2228), which may save the personalizationitem in a memory or other storage at the local first chat participantsystem 105. Then, the personalization item is rendered (step 2230). Forexample, as discussed above, the personalization items may includepersonalization items for a chat participant list.

Referring to FIG. 23, in procedure 2300, a chat message application isopened by the first chat participant system 105 (step 2305), in asimilar manner to that discussed with respect to step 1905 of FIG. 19.The first chat participant may also open a chat UI, such as the UI 2000shown in FIG. 20 and select an intended destination recipient, asdiscussed above with respect to steps 1910 and 1915 of FIG. 19, andgenerate a chat message (step 2334). In one implementation, rather thanrelying on a mechanism such as a chat participant list or a state changeto identify users for which personalization items will be madeavailable, a mechanism identifies the users for which personalizationitems will be made available based on users selected by the first chatparticipants for communications.

To make the personalization items of the second chat participantavailable to the first chat participant, the first chat participantsystem 105 selects the identifiers corresponding to the personalizationitems) of the second chat participant. The identifiers may be associatedwith a screen name or other identifying information of the second chatparticipant. As such, personalization items of the second chatparticipant may be made available to the first chat participant beforethe receipt by the first chat participant of a chat from the second chatparticipant.

The first chat participant system 105 uses the identifiers to identifythe personalization item associated with the recipient, and to locateperceivable content corresponding to the identifier.

Because various aspects of steps 2336-2350 are similar to thosediscussed above with respect to steps 2216-2230 of procedure 2200, thefollowing discussion of steps 2336-2350 is somewhat abbreviated.

The first chat participant system 105 obtains an identifier from thechat host system 310 (step 2336) corresponding to the personalizationitem selected by the first chat participant system 105, as discussedabove with respect to step 2216.

Next, the first chat participant system 105 determines whether thecorresponding personalization item is available locally (step 2338). Asdiscussed above with respect to step 2218, the first chat participantsystem 105 may have stored the personalization in a local memory orother local storage location. The first chat participant system 105 usesthe identifier to determine whether the corresponding personalization isavailable locally. For instance, the identifier may contain the locationat which the corresponding personalization item is stored.

If the corresponding personalization item is available locally, thefirst chat participant system 105 retrieves the correspondingpersonalization item (step 2340) and the personalization item isrendered (step 2350).

Otherwise, if the corresponding personalization item is not availablelocally, the first chat participant system 105 requests thecorresponding personalization item from the chat host system 310 (step2342). Alternatively, as discussed above with respect to step 2222, thefirst chat participant system 105 may request the correspondingpersonalization item from another location. In one implementation, thepersonalization item may be provided by a third party, and may be madeavailable in consideration of a payment by the first chat participant orthe second chat participant. Requesting the correspondingpersonalization item may include sending to the chat host system 310 theidentifier associated with the personalization item along with a requestto download the personalization item to the first chat participantsystem 105.

The chat host system 310 receives the request for the personalizationitem from the first chat participant system 105 (step 2344). Asdiscussed above with respect to step 2224, receiving the request mayinclude receiving the identifier associated with the personalizationitem along with a request to download the personalization item to thefirst chat participant system 105. The chat host system 310 provides thecorresponding personalization item to the first chat participant system105 (step 2346).

The corresponding personalization item is received by the first chatparticipant system 105 (step 2348). As discussed above with respect tostep 2228, receiving the corresponding personalization item may includesaving the personalization item in a memory or other storage at thelocal first chat participant system 105.

Finally, the personalization item is rendered (step 2350). As discussedwith respect to FIG. 7, the personalization item to be rendered mayinclude an icon or avatar or chat wallpaper.

The relative order of steps 2205-2230 with respect to other steps inprocedure 2200, and the relative order of steps 2335-2350 with respectto other steps in procedure 2300, and also with respect to each other,may vary. Also, certain steps may be omitted entirely, as appropriate.For example, referring to FIG. 22, if the second chat participant hasnot chosen a personalization item to be sent to the first chatparticipant system 105 upon a presence state change, then no such itemwill be sent and steps 2216-2230 may be eliminated entirely.

In one implementation, an icon or avatar of a second chat participantmay be shown in a chat participant list, or other personalization itemsof a second chat participant may be shown in a chat participant list.

Referring to FIGS. 24 and 25, the first chat participant system 105 andthe chat host system 310 interact according to exemplary procedure 2400to enable a first chat participant to select a personalization item, andthe first chat participant system 105, the chat host system 310, and thesecond chat participant system 305 interact according to exemplaryprocedure 2500 to make the personalization item selected in procedure2400 perceivable to the second chat participant.

Procedures 2400 and 2500 may be implemented by various types ofhardware, software, device, computer, computer system, equipment,component, program, application, code, or storage medium. Although notshown in FIGS. 24 and 25, the first chat participant system 105 and thechat host system 310 may be directly or indirectly interconnectedthrough known or described delivery networks, examples of which aredescribed with respect to network 160.

Procedures 2400 and 2500 may be implemented in a client/host context, ora standalone or offline client context. For example, while somefunctions of procedures 2400 and 2500 may be performed entirely by thefirst chat participant system 105 or the second chat participant system305, other functions may be performed by the chat host system 310 or thecollective operation of the first chat participant system 105, and/orthe second chat participant system 305, and/or the chat host system 310.The personalization item may be respectively selected and rendered bythe standalone/offline device, and the personalization item may beaccessed or updated through a remote device in a non-client/hostenvironment such as, for example, a LAN server serving an end user or amainframe serving a terminal device. Thus, the procedures 2400 and 2500described below may be implemented for any OSP, ISP, browser and/orother software program having a graphical user interface, such asprograms for chat, instant messaging, electronic mail and stand-alonebrowsers.

Procedure 2400 generally involves selecting a personalization item. Inthe procedure 2400, the first chat participant system 105 logs into orotherwise accesses the chat host system 310 (step 2405). For instance,first chat participant system 105 may connect to the chat host system310 across a network (e.g., network 160) by supplying credentials to aserver (e.g., a login server). More specifically, a browser may be usedto access a web-available interface, a chat message may be used toaccess a selectable interface, or a chat client that has an interface toa host may be used, among other options.

The chat host system 310 accesses personalization item appropriate forand selectable by the first chat participant system 105 (step 2410). Inone implementation, the chat host system 310 may use a screen name ofthe first chat participant system 105 or another identification of thefirst chat participant system 105 to select/identify personalizationitem available to the first chat participant system 105.

Next, the chat host system 310 enables perception by the first chatparticipant system 105 of personalization item and/or menus enabling theselection of personalization item by the first chat participant system105 (step 2415). FIGS. 6-9, discussed above, describe various interfacesavailable to the user, which may be used to select personalization item.

Based on the personalization item or menus provided or otherwise madeperceivable to the first chat participant system, the first chatparticipant system selects personalization item of interest (step 2420).

The first chat participant may have selected personalization item from alocation including the first chat participant system 105, the chat hostsystem 310, or another host system. When the first chat participantchooses personalization item that is locally stored on the first chatparticipant system 105, an identifier may be created for the chosenpersonalization item based upon a hash of the item data. The identifier,when sent to the a remote location such as the chat host 310, may bechecked to determine if the chosen personalization item is already knownto the host system, and if so, whether the personalization item isdesignated as, for example, an official item. This allows the first chatparticipant to select personalization item from the first chatparticipant's own client system, but prevents the host system or otherremote location from needing to store duplicate copies of the sameitems. Also, the host system or other remote location is able todetermine if such items are specially designated as, for example,official items and may be rendered to users who desire to view onlyitems so designated.

The chat host system 310 receives the personalization item selectionfrom the first chat participant system 105 (step 2425), and responsivethereto, the chat host system 310 sends and/or stores one or more of theselected personalization item (step 2430). The chat host system 310 maystore the item(s) in a memory or other storage, either local or remoteto the chat host system 310. The chat host system 310 also may send theitem(s) to the first chat participant system 105 in a communication suchas a chat message, or in communication associated with such a message.

Finally, the first chat participant system 105 receives the selectedpersonalization item (step 2435). The items may include informationallowing the personalization item to be rendered by the second chatparticipant system. For example, the personalization item may include atype identifier that identifies the personalization item aspersonalization item. Also, the personalization item may include one ormore flags to indicate, for example, if the personalization item is acustom item or an “official” item, has been banned, or has expired. Thepersonalization item may further include information concerning itssize. The personalization item may be in a predetermined format and maybe of a predetermined length.

The relative order of steps 2405-2435 with respect to other steps inprocedure 2400, and also with respect to each other, may vary.Furthermore, certain steps may be omitted entirely, as appropriate.

As discussed with respect to FIGS. 6-9, the personalization itemperception and selection may be assisted by user interfaces 600, 700,800 and 900, and the first chat participant may make the selection usinga mouse or other input device. Personalization item may be selectedmanually by the first chat participant or the personalization item maybe automatically selected for the first chat participant.

Procedure 2500 generally involves transporting and renderingpersonalization item. In procedure 2500, the first chat participantsystem 105 accesses the chat host system 310 as described with respectto FIG. 24 (2405).

The first chat participant opens a chat application on the first chatparticipant system 105 (step 2510).

Next, one or more personalization item are selected, for example, in themanner discussed with respect to FIG. 24, and the selected items areaccessed by the first chat participant system 105 (step 2515). Asdiscussed with respect to FIGS. 6-9 the selection may be made with theassistance of interfaces 600, 700, 800, and 900, and the first chatparticipant may make the selection using a mouse or other input device.The personalization item may be selected manually by the first chatparticipant or may be automatically selected for the first chatparticipant. Typically, the items are stored at the first chatparticipant system 105. However, the items may be stored at otherlocations such as the chat host system 310 or another host system.

Next, a second chat participant is selected (step 2520). For example, asshown with respect to FIG. 10, a buddy 1025 a may be selected from abuddy list 1025.

Thereafter, a chat message, including the selected personalization item,is generated by the first chat participant system 105 and sent to thesecond chat participant system 305 (step 2530). The first chatparticipant system 105 need not supply the chat host system 310 with theselected personalization item. Rather, the chat host system 310 mayappend or otherwise communicate the personalization item to the secondchat participant, even if a message without personalization item is sentby the first chat participant system 105, based upon the host havingknowledge of the personalization item selected by the first chatparticipant system 105, or based upon an identifier that may be providedby the first chat participant system 105 to the chat host system 310rather than the personalization item itself.

The chat host system 310 receives the instant message and the item (step2535). The chat host system 310 then may optionally authenticate theinstant message for security purposes (step 2540).

The chat host system 310 sends the chat message and the selectedpersonalization item(s) to the second chat participant system 305 (step2545).

The second chat participant system 305 receives the chat with thepersonalization item(s) from the chat host system 310 (step 2550). Thepersonalization item(s) may be received in a single message, or portionsof the personalization item(s) may be transported in more than onemessage and the complete personalization item assembled at the secondchat participant system 305.

The second chat participant system 305 accesses the personalizationitem(s) or portions of the personalization item(s) available at thesecond chat participant system (step 2555).

Next, the second chat participant system 305 determines whether thepersonalization item is ready to be rendered (step 2560).

If the corresponding personalization item is ready for rendering, thesecond chat participant system 305 renders the personalization item(step 2565), as described below with respect to step 2565. Thepersonalization item may be ready for rendering in its entirety if theentire personalization item has been received. The second chatparticipant system 305 may wait until the entire personalization item isreceived to render the personalization item. Otherwise, thepersonalization item may be progressively rendered by the second chatparticipant system 305.

If the personalization item is not available for rendering, the secondchat participant system 305 waits until the personalization item isavailable for rendering.

The relative order of steps 2510-2565 with respect to other steps inprocedure 2500, and also with respect to each other, may vary. Forexample, a recipient may be selected in step 2520 before accessingpersonalization item in step 2515.

FIG. 10, discussed above, illustrates an example of a UI 1000 that maybe presented to a user of a chat service. The UI 1100 includespersonalization items from the second chat participants andpersonalization items from the first chat participant. A personalizationitem may be transported from the second chat participant to the firstchat participant by inserting the personalization item into a chatmessage from the second chat participant to the first chat participant.The first chat participant system 105 receives the instant messagecontaining the embedded personalization item and renders thepersonalization item.

Similarly, a personalization item chosen by the first chat participantmay be rendered in UI 1000. When the first chat participant sends a chatmessage to a second chat participant, the personalization item may betransported along with the chat message. Once received, the second chatparticipant system 305 renders the personalization item.

FIG. 10 also shows an example of a chat participant list 1005, and isdescribed above. The chat participant list 1005 may includepersonalization items. The first chat participant may select apersonalization item manually, or the personalization item may beselected automatically for the first chat participant. Thepersonalization item may be rendered to the first chat participant asdescribed above with respect to step 2432 of FIG. 25 and may be madeperceivable to the second chat participant as described with respect toFIGS. 24 and 25.

One or more of these personalization item may be transmitted to a secondchat participant and rendered on the second chat participant system 305.The transmission of the personalization item may occur duringmachine-to-machine communications that are not visible to the user.

In one implementation, the second chat participant and/or the first chatparticipant may pay a subscription fee to access/use certainpersonalization item, and the personalization item may be provided by athird party. In another implementation, the personalization item expireand must be replaced after a predetermined event such as a predeterminedlength of time, passage of a predetermined date, or a predeterminednumber of uses. Also, a personalization item may be banned if, forexample, it is deemed to be offensive, inappropriate, or to otherwiseviolate a term of service agreement. If it is determined that thepersonalization item is expired or banned, display of such apersonalization item will be disallowed and the user typically will berequired to choose a different personalization item.

In one implementation, the second chat participant and/or the first chatparticipant may pay a subscription fee to access/use certainpersonalization items, and the personalization items may be provided bya third party such as a server other than the chat host 310. In anotherimplementation, the personalization items expire and must be replacedafter a predetermined event such as a predetermined length of time,passage of a predetermined date, or a predetermined number of uses.Also, a personalization item may be banned if, for example, it is deemedto be offensive, inappropriate, or to otherwise violate a term ofservice agreement. If it is determined that the personalization item isexpired or banned, display of such a personalization item will bedisallowed and the user typically will be required to choose a differentpersonalization item.

Turning now to selecting one or more personalization items or personasto be projected by a user in a chat room based on an identity of a chatroom, users may assign a personalization item or a persona to beprojected when conversing with other users in a chat room, either inadvance of or “on-the-fly” during a communication session. This allowsthe user to project different personas in different chat rooms ordifferent groups of chat rooms. A chat user may pre-select a particularpersona to be displayed while communicating in a particular chat room byassociating a particular persona with a particular chat room identity.For example, a chat user may associate the name of a particular personaof the user with the chat room identity. When the chat user later entersthe chat room, the predetermined association is used to select thepersona to be projected by the chat user in the chat room. Theassociation, that has been either pre-selected or otherwise determinedby the chat user, may be stored so as to persist across communicationsessions. Alternatively, the association may be used only in thecommunication session in which the association was pre-selected orotherwise determined.

A chat user also may select, during a communication session, a personato be displayed before entering or while participating in a particularchat room during the same communication session. This may be referred toas selecting a persona “on the fly” during a communication session. Achat user may be able to override a previously made association betweena persona and a chat room by selecting a persona “on the fly” during acommunication session that may have another persona associated with thecommunication session.

In many instances, a chat user may have multiple online personas for usein a chat communications session. By associating personas with chatrooms identities, a chat user may choose to display a different personain different chat rooms. Each online persona is associated with one ormore personalization items, such as an icon or avatar, wallpaper,sounds, and smileys. In many cases, each online persona of a particularchat user is associated with different sounds or groups of sounds. Thisneed not be necessarily so. Moreover, even when two or more onlinepersonas of a particular chat user include the same sounds, the settingsfor which sounds are played when may be different for each of the onlinepersonas. In one example, a chat user has a persona that includes soundsto alert the user when other users enter or exit the chat room. When auser enters the chat room, the sound of a door opening is played andwhen a user leaves the chat room, the sound of a door closing is played.This grouping of sounds may be associated with two of the chat user'sonline personas. However, the settings for the sounds may be differentin each of the personas. For example, the sound group of the firstpersona may only play when a second chat user who is also on the firstchat user's buddy list enters or leaves the chat room, whereas the soundgroup of the second persona may play when any other user enters orleaves the chat room.

FIG. 26A shows an example 2600 of relationships between online personasof a user and chat rooms. More particularly, FIG. 26A shows onlinepersonas 2602A, 2602B, and 2602D of a user and chat rooms 2610A, 2610B,2610C, and 2610D visited by the user. Each of the online personas 2602A,2602B, or 2602D includes corresponding personalization items 2605A,2602B or 2605D. More particularly, the online persona 2602A includesemoticons (e.g., smileys) 2606A, wallpaper 2607A, an icon 2608A, and asound group 2609A as personalization items 2605A. The online persona2602B includes emoticons 2606B, wallpaper 2607B and an icon 2608B aspersonalization items 2605B, which are different than the emoticons2606A, the wallpaper 2607A, the icon 2608A, and the sound group 2609A ofonline persona 2602A. The online persona 2602D includes wallpaper 2607Dand sound group 2609D as personalization items 2605D. The online persona2602D represents a default online persona that is used in a chat roomwhen neither of the online personas 2602A or 2602B are projected, asdescribed more fully below. As illustrated, in the example 2600, eachonline persona may include the same or different types ofpersonalization items. For example, online personas 2602A and 2602B eachinclude emoticons, wallpaper, and an icon, whereas online persona 2602Donly includes a wallpaper and sound personalization items.

Online persona 2602A is projected for the user in chat room 2610A.Online persona 2602B is projected for the user both in chat room 2610Band in chat room 2610C. Online persona 2602D is projected for the userin chat room 2610D. For example, online persona 2602A may be a musicpersona that is projected for the user in a music chat room 2610A.Online persona 2602B may be a sports persona that is projected for theuser in a college football chat room 2610B and also in a professionalfootball chat room 2610C. Online persona 2602D may be a persona thatincludes neutral wallpaper and sounds that are unlikely to disclosepersonal characteristics or affiliations of the chat user. The defaultonline persona 2602D is projected in chat room 2610D because neither ofonline persona 2602A or 2602B is associated with chat room 2610D (asshow by the dotted line 2612D).

An online persona also may be projected for a user based on a chat roomidentity and not based on the user's identity. A particular chat roommay be configured to project a particular persona, for any user thatenters the chat room regardless of any previous associations or “on thefly” selections of a persona made by the user. For example, a gardeningchat room may be configured to project a flower icon for any user thatenters the chat room. The same may be true for a particularpersonalization item.

FIG. 26B shows an example 2650 of relationships between chat rooms andonline personalization items that are based on the chat room identities,but not a user identity. More particularly, FIG. 26B shows onlinepersonalization items 2660A and 2660B, as well as personalization item2660C, and chat rooms 2670A, 2670B, and 2670C. Personalization items2660A include wallpaper 2662A, an icon 2662B, a sound group 2662C, andemoticons (e.g., smileys) 2662A. Personalization items 2660B includewallpaper 2664A, an icon 2664B, and emoticons 2606B, which are differentthan the wallpaper 2662A, icon 2662B, and sound group 2662C, andemoticons 2662D of personalization items 2660A. Personalization item2660C includes emoticons 2668A.

Personalization items 2660A may be projected when any user enters chatroom 2670A. Personalization items 2602B may be projected when any userenters chat room 2670B. Personalization item 2670C may be projected whenany user enters chat room 2670C. For example, personalization items2660A may be related to music, such that the music personalization itemsmay be projected when a user enters a music chat room 2670A.Personalization items 2660B may be related to sports, such that thesports personalization items may be projected when a user enters afootball chat room 2670B. Personalization item 2660C may be a smiley setincluding flowers having faces, such that the smiley set may beprojected when a user enters a gardening chat room.

Personalization items 2660A, 2660B, and 2660C may be projected on anindividual basis when a user enters chat rooms 2670A, 2670B, and 2670C.Even though individual personalization items may change upon a userentering one of chat rooms 2670A, 2670B, or 2670C, a user's currentpersona will remain the same. If a user is not currently projecting apersona, no persona will be selected for the user upon entering one ofchat rooms 2670A, 2670B, or 2670C. Similarly, if a user is not currentlyprojecting any personalization items, or is currently projecting some,but not other personalization items, upon entering one of chat rooms2670A, 2670B, or 2670C, personalization items 2670A, 2660B, or 2660C,respectively, may be selected for the user, but no other personalizationitems may be projected. For example, a user may currently project afootball persona including a football helmet icon, wallpaper depicting afootball field, and sports-related sounds. The user may then enter agardening chat room. The trigger of entering the gardening chat room maycause certain personalization items, rather than an entire persona, tobe selected for the user. For example, upon entering the gardening chatroom, the user may be provided a flower icon and sounds of birdschirping. However, the rest of the user's current football persona willremain unchanged. In another example, a user may not currently project apersona, but may have selected several unrelated personalization items,such as an orange wallpaper, a chocolate-chip cookie icon, and officesounds. The user may then enter the gardening chat room and be providedwith a flower icon and sounds of birds chirping. The user'schocolate-chip cookie icon may change to the flower icon and the user'soffice sounds may change to sounds of birds chirping. However, theuser's orange wallpaper may remain unchanged because a particularwallpaper personalization item has not been associated with thegardening chat room.

A user may choose to override projection of individual personalizationitems associated only with a chat room identity. In someimplementations, a user may override the projection of chatroom-specific personalization items “on the fly.” In someimplementations, before changing one or more of a user's personalizationitems, the user may be presented with a choice to accept, or reject, thepersonalization items associated with the chat room in which the user iscurrently participating. If the user rejects the personalization items,the user's current personalization items may remain unchanged.Additionally, a user may choose to accept some personalization itemsassociated with the chat room, while rejecting others. In someimplementations, the user's personalization items may automaticallychange to the chat room-specific personalization items. However, theuser may have an option to reject the change and revert to the user'sprevious personalization items. In some implementations, a user mayelect to always disallow a chat room from changing the user'spersonalization items. A user may choose this option through generalpersonalization item, or persona, options.

FIG. 27 shows an exemplary procedure 2700 to enable a chat user toselect an online persona to be made perceivable in a chat room.

The procedure 2700 may be implemented in a client/host context, or astandalone or offline client context. For example, while some functionsof procedure 2700 may be performed entirely by the first chatparticipant system 105, other functions may be performed by host system110, or the collective operation of the first chat participant system105 and the host system 110. In procedure 2700, the online persona maybe respectively selected and rendered by the standalone/offline device,and the online persona may be accessed or updated through a remotedevice in a non-client/host environment such as, for example, a LANserver serving an end user or a mainframe serving a terminal device.Thus, the procedure 2700 described below may be implemented for an OSP,ISP, browser and/or other software program having a graphical userinterface, such as programs for instant messaging, chat, electronic mailand stand-alone browsers. Moreover, procedure 2700 may be implemented byhardware, software, devices, computers, computer systems, equipment,components, programs, applications, code, or storage media.

Procedure 2700 generally involves creating, selecting and projecting anonline persona. The chat user creates or modifies one or more onlinepersonas (step 2705).

The one or more personas created or modified are then stored (step2710). The persona may be stored on the first chat participant system105, on the chat system 310, or on a different host system 110 such as ahost system of an authorized partner.

Next the chat user associates a persona to be projected during futurechat sessions based on the identity of a chat communications session(step 2715). The chat user may wish to display different personas whenparticipating in different chat communication sessions depending on theidentity of the chat room.

The chat user may assign or otherwise associate a persona to a chat roombased on the chat room identity. A chat room identity may be related toa group of chat rooms. For example a chat room identity may be relatedto a category that descriptively associates a group of chat rooms withsimilar or related subject matter. Examples of chat room categoriesinclude sports, football, travel, and gardening. A chat room created todiscuss professional football may have a “sports” or “football”identity.

A chat room identity may be based on the subject matter actually beingdiscussed in the chat room (as opposed to, for example, the subjectmatter that is expected to be discussed). For example, when the chatconversation in a football chat room turns to gardening, the chat roomidentity may reflect gardening in addition to, or in lieu of, the chatroom identity of football or sports. A user in the chat room may projecta different persona based on the gardening identity of the chat room.For example, a persona associated with a gardening chat room identitymay be enabled and made perceivable (replacing projection of a sportspersona based on the football identity of the chat room) in that chatroom when the chat room identity changed from sports to gardening. Insome implementations, a chat user may control whether a persona isprojected based on a category of chat room or subject matter beingdiscussed in a chat room.

A chat room identity may relate to a chat format employed by the chatroom. For example, a chat room may host a question-and-answer sessionwith an expert or celebrity. A chat room with such a format may have adifferent identity than a chat room identity where users communicateamong themselves, even when the subject matter or topic discussed in thechat rooms is the same or substantially the same. Alternatively oradditionally, a chat room identity may depend on the type of languageallowed in the room, such as whether adult language or risqué commentsare permitted.

In one example, a chat user may associate a “sports” persona with chatrooms that have a “sports” identity. To do so, for example, a user mayexplicitly associate the “sports” persona with a chat room having a“sports” identity. Alternatively or additionally, the “sports” personamay be associated with chat rooms having a “sports” identity based onderiving the identity of the chat room from the chat room title or acategory associated with the chat room. When the chat user enters a chatroom having a “sports” identity and is associated with the user'shometown football team, the chat users “sports” persona (including, forexample, a combination of a sports-related icon or avatar, wallpaper,sounds, and smileys) is enabled and made perceivable to the other chatparticipants. In another example, a chat user may associate a “risqué”persona with chat rooms having an “adult-theme” identity. Here, when thechat user enters a dating chat room, having an “adult-theme,”the chatusers “adult” persona is enabled and made perceivable to the other chatparticipants. In yet another example, a chat user may associate a“gardening” persona (including, for example, gardening relatedpersonalization items) with chat rooms related to gardening. When thechat user enters a gardening chat room, the user's “gardening” personais projected.

In another example, a chat user may associate a persona with a chat roomby explicitly selecting a particular chat room. For example, the chatuser may specify that upon entering the “football” chat room, his“sports” persona is enabled and made perceivable to the other chatparticipants.

The chat user may also associate other persona attributes to be madeperceivable based upon the occurrence of certain predetermined events ortriggers, rather than based on the selection status or identity of achat room. For example, certain chat rooms may be designated to displaycertain aspects of a “rainy day” persona if the weather indicates rainat the geographic location of the chat user.

Default priority rules may be implemented to resolve conflicts, or theuser may select priority rules to resolve conflicts among personas beingprojected or among personalization items being projected for anamalgamated persona. For example, a set of default priority rules mayresolve conflicts among assigned personas by assigning the highestpriority to personas and personalization items of personas assigned onan individual basis, e.g., assigned to particular chat rooms, assigningthe next highest priority to assignments of personas and personalizationitems made on a group basis, e.g., categories of chat rooms, andassigning the lowest priority to assignments of personas andpersonalization items made on a global basis, e.g., the default persona.However, the user may be given the option to override these defaultpriority rules and assign different priority rules for resolvingconflicts.

A chat user may use similar techniques to associate, with a chat room orrooms, one or more personalization items that are not necessarilyassociated with a persona of the chat user.

Next, the chat user initiates a chat communication session by entering afirst chat room (step 2720). The first chat room's user interface isthen rendered (step 2725). Rendering the first chat room user interfacealso includes enabling rendering of the persona the chat user hasassociated with the first chat room. Enabling the persona to be renderedmay include sending the persona from chat host 310 to first chatparticipant system 105. Alternatively, enabling the persona to berendered may include receiving and rendering the persona on chat host310 only. The associated and rendered persona for the first chat roomcan be seen by other chat room participants when the chat user entersthe first chat room.

The chat user may enter a second chat room (step 2730). The chat usermay enter the second chat room while present in the first chat room(e.g., the chat room user enters the second chat room without exitingthe first chat room). For example, the chat user may enter a gardeningchat room and then later, the chat user may enter a football chat roomwithout leaving the gardening chat room.

Relative to the second chat room, a second chat room user interface isrendered and configured to enable rendering of a second personaassociated with the second chat room (step 2735). The persona may beprojected in a similar manner to that described above with respect tostep 2725. However, the persona projected in the second chat room maydiffer from the persona projected for the chat user in the first chatroom. For example, a chat user may participate in the chat rooms at thesame time by being present in each of the chat rooms and, a differentpersona is made perceivable in each chat room.

FIG. 28A shows a user interface (UI) 2800 for font 2820 and color 2810adjustments that a chat user may employ in creating a persona.Specifically, a chat user may use UI 2800 to specify the font and colorto be applied to text communicated during a chat communications sessionin a chat room. The chat user may select text color by accessing colorpalette 2810 and selecting a color from the color palette 2810.

Referring also to FIG. 28B, the chat user may select a font for text byselecting a control 2822 adjacent to the currently selected font name2820 to cause drop-down menu 2825 of available fonts to appear. The UI2800 with selection screens 2810 and 2820 may be invoked by user actionsuch as, for example, right clicking on a mouse button or otherwisemanipulating a user input device.

The chat user can personalize a chat persona by selecting a font andcolor for text. Text attributes (such as font, size, and colorselections) may be persistently stored or otherwise associated with apersona. This may enable a chat user to project text with attributes ina chat room that is different than the text attributes projected by theuser in a different chat room. More particularly, text attributes may beassociated with a persona, which in turn, may be associated with a chatroom identity.

In one example, when a chat user is communicating in a football chatroom, the chat user may select a large, bright red, sans serif font toproject that the user is passionate about football. The same chat usermay select a small, green, serif font for the chat user's communicationsin a gardening chat room.

The text attributes that are associated with the persona projected for achat room are used as a default text style when the chat user enters achat room having an identity associated with the persona.

In addition to, or in lieu of, selecting text attributes to create apersona, a chat user may also select one or more personalization itemsand/or features and functionalities to create a persona. FIG. 29 shows aseries 2900 of exemplary UIs 2905, 2955, 2980 for enabling a chat userto create and store a persona, and/or select various aspects of thepersona such as icons or avatars, wallpaper, sounds, and smileys. Asshown, UI 2905 enables a chat user to select a set of one or morepersonalization items and save the set of personalization items as apersona. The UI 2905 also enables a chat user to review and make changesto a chat persona. For example, the UI 2905 enables a chat user tochoose an icon 2910, wallpaper 2915, emoticons 2920, and sounds 2925. Aset of controls 2940 is provided to enable the chat user to preview 2940a the profile and to store 2940 b the selected personalization items asa persona. The chat user is able to name and store the persona 2945 andthen is able to associate the persona 2950 to one or more chat roomsbased on the chat room identity or by selecting one or more particularchat rooms.

A management area 2950 a is provided to enable the chat user to delete,save, or rename various chat personalities. In choosing thepersonalization items, other interfaces such as UI 2955 may be displayedto enable the chat user to select the particular personalization items.UI 2955 includes a set of themes 2960 for icons which enables a chatuser to select a particular theme 2965 and choose an individual icon2970 in the selected theme. A set of controls 2975 is provided to assistthe chat user in making the selection of personalization items. Also, achat user may be enabled to choose a pre-determined theme, for example,by using a UI 2980. In UI 2980, the chat user may select variouscategories 2985 of pre-selected themes and upon selecting a particularcategory 2990, a set of default pre-selected, personalization items isdisplayed, 2990 a, 2990 b, 2990 c, 2990 d, 2990 e, and 2990 f. The setmay be unchangeable or the chat user may be able to individually changeany of the pre-selected personalization items in the set to create aneven more personalized persona. A control section 2995 is also providedto enable the chat user to select the themes.

In another implementation, the features or functionality of the chatinterface may vary based upon user-selected or pre-selected options forthe persona selected or currently in use. The features or functionalitymay be transparent to the chat user. For example, when using the “work”persona, all communications taking place in a particular chat room maybe encrypted, and a copy may be recorded in a log, or a copy may beforwarded to a designated contact such as an administrative assistant. Awarning may be provided to other chat room users that the chatcommunications are being recorded or viewed by others, as appropriate tothe situation. By comparison, if the non-professional “casual” personais selected, the communications taking place in the chat room may not berecorded or forwarded to a contact designated by the chat user.

In one implementation, the features and functionality associated withthe persona is transparent to the chat user, and may be based upon oneor more pre-selected profile types when setting up the persona. Forexample, the chat user may be asked to choose from a group of personatypes such as professional, management, informal, vacation, offbeat,etc. In the example above, the “work” persona may have been be set up asa “professional” persona type and the “casual” persona may have been setup as an “informal” persona type. In another implementation, the chatuser may individually select the features and functionalities associatedwith the persona.

An “enterprise mode” may be provided for use with a persona, and thefeatures and functionality associated with the enterprise mode may beestablished by an employer or its agent, and may vary depending upon therequirements of the environment. For example, where a record of the chatroom communications is being maintained, a legal notice may be providedto one or more of the participants in the chat communications, wheresuch notice is necessary or desirable. The enterprise mode may enablefunctionality such as encryption, recording of the chat communications,and forwarding of the transcript of the chat communications to anadministrative assistant.

In one implementation, the chat user may pay a subscription fee toaccess/use certain personas, and the personas may be provided by a thirdparty. In another implementation, the personas expire and must bereplaced after a predetermined event such as a predetermined length oftime, passage of a predetermined date, or a predetermined number ofuses. Also, a persona may be banned if, for example, it is deemed to beoffensive, inappropriate, or to otherwise violate a term of serviceagreement. If it is determined that the persona is expired or banned,display of such a persona will be disallowed and the chat user typicallywill be required to choose a different persona. One or morepersonalization items may be treated in a substantially similar way.

Default global personas, default group personas, or default personalpersonas, may be provided, depending on the implementation. For example,if a list of particular chat rooms, or particular categories of chatrooms, is provided as the default chat rooms for the chat user, uponinstallation of the chat client program a default persona may beprovided for whenever the chat user enters one of those chat rooms.

As another example, a default global persona may be provided when thechat client program is installed so that a persona exists for a chatroom the chat user enters, regardless of whether the chat user hasselected a persona to be presented or has previously associated aparticular persona with that chat room. Similarly, a default persona maybe provided for any newly joined chat rooms, whether or not a globalpersona is provided. Additionally, one or more default personalizationitems (which are not combined into a persona) may exist and be used in away similar to that described above with respect to default personas.

Features and functionality may be assigned to personas in a similarmanner as described with respect to personalization items.

In another implementation, the chat user may select a persona to beperceivable by other chat room participants at the time the chat userdecides to enter a particular chat room. This method for selecting apersona to be displayed in a chat room, “on-the-fly” is available to thechat user as an alternative to associating a persona with chat roomsbased on their identity or one or more chat rooms explicitly selectedfrom a list. FIG. 30 shows a chooser UI 3000 that enables the chat userto select among available personalities 3005, 3010, 3015, 3020, 3025,3030, 3035, 3040, 3045, 3050, and 3055 to be displayed in a chat room inwhich the chat user is currently participating and communicating. The UIalso has a control 3060 to enable the chat user to “snag” the persona ofanother chat participant, and a control 3065 to review the personasettings currently selected by the chat user. Through the use of thechooser UI 3000, the user may change the persona being projected in thecurrent chat room before entering the chat room or while communicatingin the chat room.

FIG. 31 shows an exemplary procedure 3100 for associating a persona witha chat room identity. The procedure 3100 may be used, for example, as away to implement assigning a persona to a chat room, as describedpreviously with respect to step 2715 of FIG. 27. The procedure 3100 maybe performed, for example, by a host system, such as host system 100 ofFIG. 1, or a chat participant system, such as chat participant system105 of FIG. 1. The procedure 3100 may be initiated in response to anindication received from a chat user, such as, for example, a selectionby a chat user of a menu item to assign a persona to a chat roomidentity.

The procedure 3100 begins when the system executing the procedure 3100presents chat room categories (step 3110). This may be accomplished, forexample, by the system displaying on a display device a list of chatroom categories. The system receives a user-identified indication of acategory (step 3115). For example, the chat user may select a categoryfrom the presented categories by entering keyboard input or using apointing device, such as a mouse, to indicate a category.

The system presents chat rooms that are associated with the indicatedcategory (step 3120). This may be accomplished, for example, by thesystem displaying on a display device a list of chat rooms that areassociated with the indicated category. The system receives auser-identified indication of a chat room (step 3125). For example, thechat user may select a chat room from the presented chat rooms byentering keyboard input or using a pointing device, such as a mouse, toindicate a chat room. In some implementations, a user may indicatemultiple chat rooms.

The system receives a user-identified indication of a persona toassociate with the indicated chat room (step 3130). This may beaccomplished, for example, by enabling a chat user to select a personafrom a list of indications of the chat user's personas, such as userinterface 3000 of FIG. 30. Additionally or alternatively, a chat usermay create a persona to be associated with the identified chat room, asdescribed previously. In some implementations, the system may receive auser-identified temporal rule, or rules, to control the projection of apersona in the chat room (step 3135). This may be accomplished, forexample, by display of a calendar and/or a clock to enable a user toidentify temporal periods during which the indicated persona should beprojected in the identified chat room. For example, the chat user maychoose to associate a neutral persona when communicating in a chat roomduring work hours, but associate a risqué or aggressive persona whencommunicating in a chat room after 5:00 PM. Further by way of example,the chat user may select a “football” persona to be associated with allchat rooms on Sundays and Mondays during football season.

The system determines an identity of the indicated chat room (step3140). To do so, for example, the system may use a category associatedwith the chat room as the identity or may look-up an identity based onthe title or identifier of the chat room. More particularly, when a chatroom identity is to be derived from the category associated with thechat room, the identity may be the category. For example, a chat roomthat appears in a “sports” category may have a “sports” identity. A chatroom within the “sports” category may have other additional and/ordifferent identities not necessarily based on the category of the chatroom. For example, a “football” chat room selected by the chat user mayhave identities of a “sports” chat room, a “football” chat room, a“professional football” chat room and a “user format” chat room. A “userformat” chat room describes a chat room format in which userscommunicate among themselves, as opposed to a question-and-answer chatroom format where perhaps an expert or celebrity interacts with otherchat room participants.

In some implementations, the identity of a chat room may be determinedbased on the subject matter being discussed in the chat room. In such acase, the system may determine the identity of the chat room bydetermining the subject matter discussed in the chat room during theexecution of procedure 3100, though this need not necessarily be so.

The system stores an association between the chat room identity and theindicated chat user persona (step 3165). This enables the persona to beautomatically rendered when the chat user enters a chat room having theassociated identity.

The procedure 3100 determines a chat room identity to be associated witha chat user persona based on a category of chat rooms and a particularchat room. Other methods to associate a persona and chat room identitymay also be used. For example, a chat user may select one or more chatroom identities from a list of presented identities. In another example,some implementations may indirectly associate a chat room with acategory by using sub-categories to further describe a category. In sucha case, a sub-category may be used to determine a chat room identity inaddition to, or in lieu of, a category associated with the chat room. Inyet another example, a chat user may identify multiple chat rooms thatare from the same category or different categories. In still anotherexample, a chat user may select a category, or perhaps a sub-category,of chat rooms as a proxy, surrogate or other type of indication, to helpthe system determine a chat identity to be associated with a chat userpersona. The concepts and techniques described with respect to procedure3100 also may be used to associate multiple chat user personas with achat room identity.

FIG. 32 shows an exemplary procedure 3200 for rendering the userinterface for a chat room that includes projecting a chat user personaassociated with an identity of the chat room. The procedure 3200 may beused, for example, as a way of rendering a user interface for a first orsecond chat room and projecting a first or second chat user personaassociated with an identity of the first or second chat room, asdescribed previously with respect to step 2725 or step 2735, both ofFIG. 27. The procedure 3200 may be performed, for example, by a hostsystem, such as host system 100 of FIG. 1, or a chat participant system,such as chat participant system 105 of FIG. 1. The procedure 3200 may beinitiated, in response to an indication received from a chat user toenter a chat room.

The procedure 3200 begins when the identity of a chat room is receivedin response to an indication received from a chat user to enter the chatroom (step 3220). This may be accomplished, for example, by receiving anidentity that is associated with the particular chat room, a categoryassociated with the particular chat room, or by determining the subjectmatter being discussed in the chat room.

The system determines if a persona is associated with the received chatroom identity (step 3230). This may be accomplished, for example, bydetermining whether an association of a persona of the chat user and thereceived chat room identity is stored. When a persona is associated withthe received chat room identity, the system accesses the associatedpersona (step 3250). For example, the associated persona may be accessedfrom a storage medium or memory.

When a persona is not associated with the chat room identity received,the system selects a default persona for the chat user to project.Additionally or alternatively, the chat user may be presented with auser interface prompting the chat user to associate an existing persona,or create a new persona to be associated, with the chat room identity.In one implementation, if the chat user does not select or create apersona to associate with the chat room identity presented, then thechat user's default persona will be associated with those identities.Additionally, because a particular chat room may have more than oneidentity, the chat user optionally may select or create one persona tobe associated with all of the chat room identities presented, some ofthe chat room identities presented, or only one of the chat roomidentity presented. Furthermore, a chat user may select or createdifferent personas to be associated with one or more of the differentchat room identities presented. Alternatively, the chat user's defaultpersona may be rendered for use only in the particular chatcommunication session.

The system then enables the persona to be rendered in the chat room(step 3260). This may be accomplished as described previously.

As described in FIG. 32, a persona (and/or one or more personalizationitems) may be automatically provided for a user when the user enters achat room having an identity with which the user has previouslyassociated a persona or one or more individual personalization items. Inthis way, personalization items may be directly or indirectly selected.Direct selection of personalization items includes individualpersonalization items being selected upon entering a particular chatroom, as discussed below. Whereas in indirect selection ofpersonalization items, an entire group of personalization items,organized as a persona, are selected upon entering a particular chatroom.

An entire persona may be automatically provided for a user when the userenters a chat room having an identity with which the user has previouslyassociated the persona. For example, a user may currently project afootball persona including a football helmet icon, wallpaper depicting afootball field, and sports-related sounds. However, the user's persona,and thus the individual personalization items associated with thepersona, may change when the user enters a chat room having a differentone of the user's personas associated with the chat room. For example, auser may enter a gardening chat room, with which the user has previouslyassociated the user's gardening personality, including a watering canicon, flower wallpaper, and a sunshine smiley set. The gardening personamay be selected upon entering the gardening chat room, such that theuser's current football personalization items may automatically bechanged to the personalization items associated with the user'sgardening persona. This is an example of an indirect selection ofpersonalization items. Each individual personalization item related tothe gardening persona is not selected for projection by the user, butrather, due to the trigger of entering the gardening chat room, withwhich the user has previously associated the gardening persona, theuser's personalization items change, as a group, from footballpersonalization items to gardening personalization items.

Instead of automatically selecting an entire persona when a user entersa particular chat room, only one or more individual personalizationitems may be selected when the user enters the chat room. If a user iscurrently projecting a persona, upon entering a particular chat room,individual personalization items may be selected for the user, but theuser's entire persona will remain the same. If the user is not currentlyprojecting a persona, individual personalization items still may beselected for the user, but no persona will be selected for the user. Forexample, a user may currently project a football persona including afootball helmet icon, wallpaper depicting a football field, andsports-related sounds. The user may then enter a gardening chat room.The trigger of entering the gardening chat room may cause certainpersonalization items, rather than an entire persona, to be selected forthe user. For example, upon entering the gardening chat room, the usermay be provided a flower icon. However, the rest of the user's currentfootball persona will remain unchanged. This is an example of a directselection of personalization items. One or more individualpersonalization items are changed directly based on the trigger ofentering a particular chat room.

It will be understood that although the above description of thetechniques generally address associating and rendering a persona duringa chat communication session in a chat room, the same, or substantiallysimilar, techniques may be used for associating and rendering one ormore personalization items (such as an icon or avatar, wallpaper, soundsand/or smileys) that are not grouped and stored as part of a persona.

The described systems, methods, and techniques may be implemented indigital electronic circuitry, computer hardware, firmware, software, orin combinations of these elements. Apparatus embodying these techniquesmay include appropriate input and output devices, a computer processor,and a computer program product tangibly embodied in a machine-readablestorage device for execution by a programmable processor. A processembodying these techniques may be performed by a programmable processorexecuting a program of instructions to perform desired functions byoperating on input data and generating appropriate output. Thetechniques may be implemented in one or more computer programs that areexecutable on a programmable system including at least one programmableprocessor coupled to receive data and instructions from, and to transmitdata and instructions to, a data storage system, at least one inputdevice, and at least one output device. Each computer program may beimplemented in a high-level procedural or object-oriented programminglanguage, or in assembly or machine language if desired; and in anycase, the language may be a compiled or interpreted language. Suitableprocessors include, by way of example, both general and special purposemicroprocessors. Generally, a processor will receive instructions anddata from a read-only memory and/or a random access memory. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as Erasable ProgrammableRead-Only Memory (EPROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM), and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCompact Disc Read-Only Memory (CD-ROM). Any of the foregoing may besupplemented by, or incorporated in, specially-designed ASICs(application-specific integrated circuits).

It will be understood that various modifications may be made withoutdeparting from the spirit and scope of the claims. For example,advantageous results still could be achieved if steps of the disclosedtechniques were performed in a different order and/or if components inthe disclosed systems were combined in a different manner and/orreplaced or supplemented by other components. As another example, ascreen name is used throughout to represent a unique identity of anaccount, but any other unique identity of an account may be used whenlinking accounts. Accordingly, other implementations are within thescope of the following claims. For example, one identity couldcorrespond to a group of personalization items, or a personalizationitem could have more than one identity. As a further example, althoughthe examples above are given in a chat message context, othercommunications systems with similar attributes may be used. For example,personalization items may be used in a chat room or in e-mailcommunications. Also, the user interface may be a viewable interface, anaudible interface, a tactile interface, or any combination of these.

1-20. (canceled)
 21. A system comprising: at least one processor; amemory, operatively connected to the at least one processor, the memorystoring instructions that, when executed by the at least one processor,perform a method, the method comprising: receiving a login for a user;in response to receiving the login, providing access to a communicationssystem, wherein the access includes access to profile data for the user,the profile data including at least a first persona associated with afirst personalization item and a second persona associated with a secondpersonalization item; initiating a communications session between theuser and another user; causing the second persona to be displayed ratherthan the first persona during the communications session.
 22. The systemof claim 21, wherein the first personalization item is a screen name.23. The system of claim 21, wherein the communications session is aninstant messaging session.
 24. They system of claim 21, wherein theaccess includes access to edit the profile data.
 25. The system of claim21, wherein determining includes determining that the communicationsession is work related.
 26. The system of claim 21, wherein the firstpersonalization item is an image and the second personalization item isa different image.
 27. The system of claim of claim 21, the methodfurther comprising: prior to initiating the communications session,receiving a change to the first personalization item.
 28. A systemcomprising: at least one processor; a memory, operatively connected tothe at least one processor and storing instructions that, when executedby the at least one processor, perform a method, the method comprising:receiving a first login; verifying a first user's identification basedon the first login; based on verifying the first user's identification,allowing access to change a first participant's personalization items;receiving, using a first connection, a change to a first personalizationitem of the first participant's personalization items; receiving asecond login, verifying a second user's identification using the secondlogin; based on verifying the second user's identification, allowingaccess to change the first participant's personalization items;receiving, using a second connection, a change to a secondpersonalization item of the first participant's personalization items;receiving an indication that the first participant has entered a chatcommunications session, the communications session having a category;causing, based on the category, the second personalization item to berendered rather than the first personalization item.
 29. The system ofclaim 28, wherein the first personalization item is a first image and asecond personalization item is a second image.
 30. The system of claim28, wherein the first user is the first participant.
 31. The system ofclaim 28, wherein the chat communications session is an instantmessaging service.
 32. The system of claim 28, wherein the firstparticipant's personalization items are associated with a profile. 33.They system of claim 32, wherein the profile includes a buddy list. 34.The system of claim 33, wherein, receiving the indication that the firstparticipant has entered the chat communications session comprises:receiving an indication that a buddy from the buddy list is online;receiving a message from the buddy.
 35. A method comprising: receiving afirst login; verifying a first user's identification based on the firstlogin; based on verifying the first user's identification, allowingaccess to change a first participant's personalization items; receiving,using a first connection, a change to a first personalization item ofthe first participant's personalization items; receiving a second login,verifying a second user's identification using the second login; basedon verifying the second user's identification, allowing access to changethe first participant's personalization items; receiving, using a secondconnection, a change to a second personalization item of the firstparticipant's personalization items; receiving an indication that thefirst participant has entered a communications session, thecommunications session having a category; causing, based on thecategory, the second personalization item to be rendered rather than thefirst personalization item.
 36. The method of claim 35, wherein thefirst personalization item is a first image and a second personalizationitem is a second image.
 37. The method of claim 35, wherein the firstuser is the first participant.
 38. The method of claim 35, wherein thefirst participant's personalization items are associated with a profile.39. The method of claim 38, wherein the communications session is aninstant messaging session, and the profile includes a buddy list. 40.The method of claim 39, wherein receiving the indication that the firstparticipant has entered the communications session comprises: receivingan indication that a buddy from the buddy list is online; receiving amessage from the buddy.